Na jiném hostingu než WZ jsem narazil na problém když se snažím uploadovat soubor pomocí formuláře.
Následující řádek PHP:
$upload_succes = move_uploaded_file($file_tmp, "files/" . $file_name);
generuje chybu (pro upload souboru s názvem soubor.gif):
Warning: move_uploaded_file(files/soubor.gif): failed to open stream: Permission denied in ------/fileupload.php on line 38
Warning: move_uploaded_file(): Unable to move '/tmp/phpLxEo6t' to 'files/soubor.gif' in ------/fileupload.php on line 38
místo ------ tam je absolutní cesta na serveru (Apache, Linux), to jsem teď odstranil, není to důležité.
Je mi jasné, že soubor se nedaří překopírovat z toho místa, kam se automaticky umístí.
Takže má otázka zní: Můžu tohle nějak ošetřit sám, nebo bych musel kontaktovat někoho z toho webhostingu aby mi povolil do /tmp/ přísup?
Někde pomohlo napsat:
move_uploaded_file($file_tmp, getcwd()."/files/" . $file_name);
Jinak se to snaží ukládat jinam než chceš a kam nemáš práva.
Ne ne, s ukládáním problém není, ukládá to do správného místa /files/, zkoušel jsem to i s plnou cestou /xxx/xxx/xxx/files/jmenosouboru.pripona
Problém je s přečtením toho souboru umístěného v /tmp/
To je pak těžký. Ješte bych $file_tmp zkusil otevřít pro čtení pomocí fopen.
<HTML>Tom: na kterem hostingu to bezi? vypada to na spatnou konfiguraci</HTML>