Witam was serdecznie,ostatnio znów zacząłem bawić się php.
Jako ze interesuje się fotografia postanowiłem napisać sobie prosta galerie.
Wykorzystuje OPT 1.1.4 + wamp5(localhost) do testowania i pisania skryptu.
Przy wykorzystaniu mojej klasy dostaje jak na razie takie 2 błędy,przeczesałem cały kod,literówek raczej nie ma(korzystam z Eclipse + pdt):
Błąd:
Rozumiem co ten błąd oznacza,ale za chiny nie mogę doszukać się w tym miejscu błędu…sądzę ze gdzieś indziej pies jest pogrzebany ;/
Część kodu wygląda mniej więcej tak:
Klasa Galerii:
class galeria{
//-----konfiguracja
private $max_rozmiar;
private $fn;
private $upload ;
private $uploadthumb;
private $link;
const host = 'ppp';
const haslo = '1234';
const user = 'ppp';
const baza = 'homesite';
//---------------------------------------
public function __construct(){
$this -> link=mysql_connect('$this ->host','$this-> user','$this ->haslo');
if(!is_resource($this -> link)){
die('Brak połączenia z bazą!');
}
$this->max_rozmiar = 1024*1024*8;
}
/* public function __destruct(){
if(is_resource($this -> link)){
mysql_close($this -> link);
}
}
*/
public function dodaj($catid,$opis,$tytul,$tagi){
//--konfiguracja nazw plikow
$this->fn = $this->genname($_FILES['plik']['name']).'.jpg' ;
$this->upload = $_SERVER['DOCUMENT_ROOT'].'homesite/photos/'.$this->fn;
$this ->uploadthumb = $_SERVER['DOCUMENT_ROOT'].'homesite/photos/thumbs/'.$this->fn;
//---obsluga pliku
if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
if ($_FILES['plik']['size'] > $max_rozmiar) {
echo 'Za duzy plik !!';
} else {
echo 'Odebrano plik. Początkowa nazwa: '.$_FILES['plik']['name'];
echo '
';
if (isset($_FILES['plik']['type'])) {
echo 'Typ: '.$_FILES['plik']['type'].'
';
}
move_uploaded_file($_FILES['plik']['tmp_name'],$this->upload);
}
} else {
echo 'Błąd przy przesyłaniu danych!';
}
//---plik odebrany dalsze dzialania
$this->resizeImage($upload,480,640,$this->uploadthumb,90);
$query = "INSERT INTO `photos` (`id` ,`cat_id` ,`filename` ,`date` ,`description` ,`title` ,`tags`) VALUES (NULL , '$catid', '$this->fn', CURDATE( ) , '$opis', '$tytul', '$tagi')";
mysql_query($query,$this ->link);
}
public function usun($pid){
$query = "DELETE FROM `photos` WHERE `photos`.`id` = $pid ";
mysql_query($query,$this->link);
}
public function wyswietl($od,$do,$cat_id){
$query = "SELECT * FROM `photos` WHERE `cat_id` =$cat_id ORDER BY `date` DESC LIMIT'$od','$do'";
$result = mysql_query($query);
while ($wiersz = mysql_fetch_array($odp)){
$dane[] = array(
'nazwa' => $wiersz['filename'],
'tytul' => $wiersz['title'],
'opis' => $wiersz['description'],
'dodano'=>$wiersz['date']
);
return $dane;
}
}
public function kat($id){
$query = "SELECT * FROM `cat` WHERE `cat_id`='$id'";
$result = mysql_query($query,$this->link);
$row = mysql_fetch_row($result);
return $row[1];
}
A tak wywołuje i używam owa klasę:
<?php
define('OPT_DIR', './lib/');
require('./lib/opt.class.php');
require('./lib/gal_class.php');
try
{
$tpl = new optClass;
$tpl -> root = './templates/';
$tpl -> compile = './templates_c/';
$tpl -> gzipCompression = false;
$tpl -> httpHeaders(OPT_HTML);
$galeria = new galeria();
$tpl -> assign('album',$galeria->wyswietl(0,100,1));
$tpl -> assign('kategoria',$galeria->kat(1));
$tpl -> parse('index.tpl');
}
catch(optException $exception)
{
optErrorHandler($exception);
}
?>