Autor Zpráva
Mufna
Profil
Zdravím Vás a prosím o radu. Tenhle dotaz jsem před chvíli hodil do databází, ale on patří sem. Mám vytvořenou administraci, kterou jsem zatím testoval na domácím EasyPHP a nyní to zkouším na ostrém hostingu. Na něm však mám následující problémy s uploadem fotek přes multiuploadovací formulář. Když odešlu vyplněný formulář (action="upload.php") obdržím tyto hlášky:


1. Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(/tmp/phprH473z) is not within the allowed path(s): (/www/5/site40865/:.:/usr/share/php5/:/usr/share/php/) in /storage/www1/5/site40865/wwwroot/upload_multi.php on line 71

nebo

Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid/gid is 40865/40865 is not allowed to access / owned by uid/gid 0/0 in /storage/www1/5/site40865/wwwroot/upload_multi.php on line 71

2.

Warning: move_uploaded_file(photos//omnia_hotel_i_-_001.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /storage/www1/5/site40865/wwwroot/upload_multi.php on line
71


řádek 71 mého skriptu je:

move_uploaded_file($_FILES['userfile']['tmp_name'][$key], $script_photos_dir."/".$new_name);

$script_photos_dir je definován v config.php takto:

$script_photos_dir='photos/';

dále pak v configu mám toto:

$upload_mode='STD'; # STD / FTP

$upload_max_size=524288;
$upload_photos_dir='/storage/www1/5/site40865/wwwroot/';
$upload_tns_dir='/storage/www1/5/site40865/wwwroot/';


Pak jsou chyby "Division by zero", to je mi jasné, a na konci je ještě

Fatal error: Function name must be a string in /storage/www1/5/site40865/wwwroot/upload_multi.php on line 129


řádek 129 mám:

$src = $src_function($script_photos_dir."/".$new_name);

$src_funtion mám někde ve skriptu definovanou zvlášť pro různé typy obrázků (GIF, PNG, JPG)

if($image_type=="1") $src_function = "ImageCreateFromGIF"; atd.

Poradíte mi někdo, jak to mám upravit a včem je problém ? Předem díky !
Mufna
Profil
Nechci nikam nahrávat žádný šílenosti (na to se stejně v PHP až tolik nevyznám), chci jen vyzkoušet funkčnost mých skriptů a ukládání hodnot do db.
Akacko
Profil
Mufna
no k tomu Warning: move_uploaded_file() - asi nemaš prava do těchto složek, kde nahráváš soubor

$src = $src_function($script_photos_dir."/".$new_name);
funkce nezačíná znakem $. Zkus takto: src_function($script_photos_dir."/".$new_name)
DJ Miky
Profil
funkce nezačíná znakem $. Zkus takto: src_function($script_photos_dir."/".$new_name)

Může, když má její název uložený v proměnné, jak to píše na předposledním řádku.
Mufna
Profil
Akacko

1. Práva vyřešeny - musel jsem adresáře ručně vytvořit a přes Total Commander a jeho FTP jim nastavit práva na 777. BTW, doufám, že se časem dostanu tady k problematice zabezpečování v PHP.

2. funkce nezačíná znakem $

Viz příspěvek DJ Miky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: