Autor Zpráva
mackopu
Profil
Pro upload obrázku používám skript
if($picture_name!=""):        //byl odeslán obrázek?

if($picture_type=="image/gif" || $picture_type== "image/pjpeg" || $picture_type=="image/jpeg"): //jedná se o námi akceptovatelný obrázek?
if($picture_size>10240): //je velikost obrázku do 10 kB
$error = 'Příliš velký obrázek - vložte prosím jiný (do 10 kB).';
$write=false;
else:
//do proměnných uložíme jména funkcí a koncovky v závislosti na typu obrázku
if($picture_type=="image/gif"):
$ext = "gif";
$src_function = "ImageCreateFromGIF";
$dst_function = "ImageGIF";
else:
$ext = "jpg";
$src_function = "ImageCreateFromJPEG";
$dst_function = "ImageJPEG";
endif;

$picture = StripSlashes($picture); //odstraníme escape sekvence z názvu souboru
$unique = UniqID(""); //vytvoříme unikátní ID obrázku
dl("php_gd.dll"); //načteme knihovnu pro práci s obrázky

//zvětšení/zmenšení obrázku
$src = $src_function($picture); //načteme obrázek ze souboru
$ratio = ImageSX($src)/70; //poměr zmenšení/zvětšení obrázku na šířku 70 px
$height = Round(ImageSY($src)/$ratio); //výška obrázku při daném poměru
$dst = ImageCreate(70,$height); //vytvoříme prostor pro cílový obrázek
ImageCopyResized($dst,$src,0,0,0,0,70,$height,ImageSX($src),ImageSY($s rc)); //zmenšíme obrázek
$dst_function($dst,"images/" . $unique . "." .$ext); //zapíšeme nový obrázek do souboru
ImageDestroy($src); //uvolníme paměť zdrojového obrázku
ImageDestroy($dst); //uvolníme paměť cílového obrázku
endif;
else: //nejedná se obrázek gif, ani jpg
$error = 'Nejedná se o obrázek typu GIF, ani JPG, vložte prosím jiný.';
$write=false;
endif;
endif;
Obrázek se ale do složky images nenahraje, ačkoliv jsem jí pomocí Total Commanderu nastavil práva 777. Obrátil jsem se na správce serveru, ale ten mi odpověděl tak, že se vlk nenažral a koza zmizela v nedohlednu:
Server bezi v safe_mode rezimu. Toto omezeni nedovoluje zakladat soubory ve slozkach patrici jinemu uzivateli nez je skript provadejeici operace nad filesystemem.
S tímto omezením jsem se ještě nesetkal, takže jsem bezradný. Ani z manuálu nejsem moc chytrý. Nechci tu vytahovat rádoby nové téma, ale ani v tomto fóru jsem odpověď nenalezl. Máte s tím někdo zkušenost?
ronnie
Profil
pjpeg - co je to za format?
mackopu
Profil
Protože některé prohlížeče používají pro obrázky JPEG označení image/jpeg a některé image/pjpeg, musíme kalkulovat s oběma hodnotami.
Marty
Profil
Mám otázku: jaký máš hosting?

To vyjádření administrátora není moc jasné, ale připadá mi to jako by bylo zakázáno ukládat nějaké soubory na host server někým jiným než tebou.
mackopu
Profil
Hosting mám na forpsi.com. Kdyby to aspoň vypisovalo chybu, ale na obrázek to pak odkazuje, pro link na něj to sahá do databáze - a na stránce je pak jen "křížek" :-(
krteczek
Profil
mackopu: a ten adresář jsi vyrobil ty pomocí ftp, a dal mu práva 777 (čtení zápis spouštění), nebo ho udělala ta aplikace??? pokud ho idělala aplikace tak chmod nezměníš ( na pipni to nejde jde jen smazat ten adresář ) takže se koukni jaký máš chmod u toho adresáře ještě jednou, počítám že bude 755 tak ho smaž a udělej ten adresář znovu na tom místě ručně pomocí ftp a nastav mu práva 777
krteczek
PS: pokud to nebude fungovat tak je více možností nastavení safe mode, a je to v prd*li :(
mackopu
Profil
Zmíněnou složku jsem tam nahrál spolu se skripty jako součást nadřazené složky - v tomto případě forum.
Kouknul jsem na práva znovu a je tam 777. Navíc mi správce odepsal další lahůdku:

"Vlastnik skriptu musi byt vlastnikem cilove slozky nebo souboru. Pokud je slozka vytvorena pres www stranky bude nutne zmenit vlastnika na uziv. apache. Muzete take pouzit ftp funkce pro ukladani obrazku. Vytvori to lokalni FTP spojeni ale valstnikem bude vzdy FTP uzivatel."

Stále jsem z toho na palici - vážně potřebuju konkrétní zdroják...
syky01
Profil *
No mam hosting taky na forpsi, a mam stejny problem, nejspis je potreba aby tu slozku vytvorilo PHP takze musis pravdepodobne zadat mkdir("./dir", 0777)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0