File Upload – tmp zůstane prázdný

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
lubomirfiala
Člen | 4
+
0
-

Ahoj,
v pondělí jsem si začal číst o Nette a rozhodl jsem se zkusit zase po letech php – tentokrát na vlastním vps.
Narazil jsem ale na problém, spíše v konfiguraci php a systému než Nette.

File upload temp directory jsem si nastavil na /var/www/php/tmp a pokusil se nahrát soubor přes formulář + přesunout kam potřebuju.

$values['pohledy']->move('/var/www/php/nette1/www/upload/');

obě složky existují, obě mají práva nastavené na 777 a přesto dostávám tuhle chybu:

Unable to move uploaded file ‚/var/www/php/tmp/phpHZgweq‘ to ‚/var/www/php/nette1/www/upload/‘. The second argument to copy() function cannot be a directory

Chyba je pochopitelná, protože ve složce /var/www/php/tmp se nic nového neobjeví. A já nevím co s tím :)

A ještě jeden dotaz: mohl bych nějak (potom, až tohle půjde), jen pro tenhle projekt, použít temp složku kterou má sandbox přímo v sobě? /var/www/php/nette1/temp/

Díky moc!
L.

h4kuna
Backer | 729
+
+2
-

Když koukneš na implementaci metody move(), tak první parametr není adresář, ale celá cesta včetně názvu souboru. A copy() hlásí že druhý parametr nesmí být adresář.

$values['pohledy']->move('/var/www/php/nette1/www/upload/foo');

Editoval h4kuna (28. 9. 2017 13:00)

lubomirfiala
Člen | 4
+
0
-

Super, díky, už to funguje :)

Ale, upřímně, na to bych z popisu funkce v api nepřišel move() když používá slova jako location a dest. Tak příště snad budu dávat větší pozor.