PDA

Bekijk Volledige Versie : Upload problemen met /tmp



BasvDisseldorp
28/07/12, 16:47
Hallo allemaal,

Ik ben nog steeds niet erg handig in dat unmanaged VPS gedoe.
Nu gebruik ik een PHP script wat foto's hoort te uploaden (niet zo heel moeilijk lijkt me!) Maar wanneer ik dit doe krijg ik het volgende probleem:

Warning: copy(/home/zstv/domains/zomerspelentv.nl/public_html/images/nieuws/thumbs/no_news_img.jpg) [function.copy]: failed to open stream: Permission denied in /home/zstv/domains/zomerspelentv.nl/public_html/beheer/scripts/upload.php on line 48

[regel 48:] if(copy($_FILES['bestand']['tmp_name'], $file)) {

Oftewel hij kan het bestand op een of andere manier niet verplaatsen. Ook wanneer ik het met move_uploaded_file() probeerde, kreeg ik dezelfde fout.

De mappen waar hij naartoe schrijft zijn allemaal 777 (chmod) dus hij zou daar geen problemen mee moeten hebben. Dus dan zou het in de /tmp moeten zitten? Maar daar vind in vrij weinig/lukt het me niet om dit aan te passen.

Ik draai op CentOS 6.2 met daarop DirectAdmin

Weet er iemand hoe ik dit (het beste/snelste) kan oplossen?

Alvast bedankt!

systemdeveloper
28/07/12, 17:56
Je hebt geen rechten op /home/zstv/domains/zomerspelentv.nl/public_html/images/nieuws/thumbs/

Dit heeft niks te maken met /tmp of een unmaged vps :)

dreamhost_nl
28/07/12, 17:57
En hoe zit het met de rechten van het te kopiëren bestand? Heeft de http server hier wel rechten toe?

patrickekkel
28/07/12, 17:59
Toch geen hij aan dat hij geen rechten heeft op de map waar het heen moet.

Mischien dat de server gebruik maakt van mod_ruid2 ? dan ga je problemen krijgen als je de map de 777 rechten gaat geven.

systemdeveloper
28/07/12, 18:04
En hoe zit het met de rechten van het te kopiëren bestand? Heeft de http server hier wel rechten toe?

Als ie dat niet had zou ie bij de upload al een melding krijgen en niet pas bij de copy. (Tenzij TS de $_FILES array niet checked of het überhaupt aanwezig zijn van een ge-upload bestand)

Edit: $_FILES["file"]["error"]

Daarnaast moet je eigenlijk altijd move_uploaded_file() gebruiken omdat dit meer controleert dan copy().

dreamhost_nl
29/07/12, 09:19
Toch geen hij aan dat hij geen rechten heeft op de map waar het heen moet.

Mischien dat de server gebruik maakt van mod_ruid2 ? dan ga je problemen krijgen als je de map de 777 rechten gaat geven.

Je krijgt dan direct een "500 Internal server error" als je de rechten boven 755 plaatst en TS krijgt die niet.

dreamhost_nl
29/07/12, 09:21
Als ie dat niet had zou ie bij de upload al een melding krijgen en niet pas bij de copy. (Tenzij TS de $_FILES array niet checked of het überhaupt aanwezig zijn van een ge-upload bestand)

Maar hij zal ook niet kunnen schrijven naar het pad als de rechten van het pad niet goed staan, zoals jij aangeeft als oorzaak.

Yourwebhoster
29/07/12, 09:42
Toch geen hij aan dat hij geen rechten heeft op de map waar het heen moet.

Mischien dat de server gebruik maakt van mod_ruid2 ? dan ga je problemen krijgen als je de map de 777 rechten gaat geven.

Je bedoeld PHP-CGI, met mod_ruid2 heb je dit probleem niet.

dreamhost_nl
29/07/12, 11:30
Dat klopt, met suphp (of phpsuexec) zul je inderdaad een "500 Internal server error" krijgen indien de rechten hoger staan dan 755.