Ik heb problemen met de toegangkelijkheid van files in mijn domein. (Apache/Unix).

Ik gebruik PHP als scripting taal. Ik heb ’n errorhandler gedefinieerd en deze
geactiveerd. Als ik ‘n error (bijv ‘n parsing error) creeer
krijg ik de volgende melding:

“Error_log(/usr/home/domein/public_html/directory/file):
failed to open stream Permission denied.”

Het adres dat in de melding genoemd wordt is het adres dat ik ook daadwerkelijk in
de errorhandler heb gespecificeerd. Ik heb dit adres op allerlei manieren, zowel absoluut als relatief opgegeven, maar het systeem blijft onveranderlijk ontoegankelijk Zowel directory als file zijn bestaande entiteiten. Permissions voor directory en file zijn zoals standaard door UNIX wordt ingesteld. (dir655, file644). Spelen met de file permissions (bijvoorbeeld 646 (world=rw!!)) geeft ook geen resultaat…….


Nog ’n probleem, waarschijnlijk ook met de filehandling:

Ik doe ’n file upload middels een html formulier (post methode..).
$_FILES['formnaam']["error"] geeft code ‘0’ wat aangeeft dat de eigenlijke upload is gelukt.
Ik check de filesize van het file terwijl het nog in de temp directory zit en krijg de resultaten die ik verwacht. Alles wijst er dus op dat het file ook werkelijk geupload is en aanwezig in de temp directory. Vervolgens wil ik het file verplaatsen naar mijn directory tree. Daarvoor gebruik ik de instructie

move_uploaded_file($_FILES['formnaam']["tmp_name"], directory-path/filenaam)

Waarbij “directory-path/filenaam” net zoiets is als boven weergegeven. Deze instructie geeft altijd de return waarde “false” hetgeen betekend dat de file-move is mislukt.
Ook hier heb ik natuurlijk weer gespeeld met path specificaties en file mods, maar niets helpt…..

Natuurlijk zie ik ’n kleinigheidje over het hoofd, maar welk……?

Overigens werkt alles op mijn lokale Apache server (WAMP5) perfect, zodat ik mag verwachten dat het niet direct aan mijn script ligt. Mijn server loopt echter niet op Unix zodat ik het probleem in richting (Unix)filehandling zoek…….Wie o wie……?

Is formnaam in $_FILES['formnaam']['tmp_name'] de naam van je formulier? Het zou natuurlijk de naam van je <input type="file"> moet zijn...
Bij dir655 is de directory NIET toegankelijk voor de owner van de file Dir moet 755 zijn.

Reageren