Hallo,
Ich code gerade an einem PHP-Upload-Script.
Allerdings buggt es ziemlich. Ich bekomme entweder den Upload-Fehler 7: ‚Failed to write file to disk‘ oder einen ‚500 Internal Server Error‘. Deshalb wollte ich hier mal nachfragen wie es denn richtig geht.
Grundlegendes: Habe chmod 711 für alle Folder auf der Seite und chmod 604 für Files.
Mein PHP-Script:
[php]
// …
// eigentlicher upload
$speicherpfad=$_SERVER['DOCUMENT_ROOT']."/folder/file/".$id.'.'.$extension;
$file_path = $speicherpfad;
if (is_uploaded_file($_FILES['ufile']['tmp_name']))
{
move_uploaded_file($_FILES['ufile']['tmp_name'], $speicherpfad);
}
// delete if still exists in temp folder
$tmp = $_FILES['ufile']['tmp_name'];
if (file_exists($tmp) && is_file($tmp))
unlink($tmp);
//…
[/php]Das Script das uploaded hat den chmod 604. Dem Upload-Folder (also da wo es hinkommt) habe ich chmod 777 gegeben…(Für Testzwecke).
Da ich ab und zu den 500 Internal Server Error bekomme, schaue ich in die error-logs. da steht dann:
[Sun Aug 22 09:59:04 2010] [error] [client *] (13)Permission denied: cannot read directory for multi: /var/chroot/home/html/folder/
[Sun Aug 22 09:59:04 2010] [error] [client *] File does not exist: /var/chroot/home/content/html/missing.html
Ziemlich verwirrend das ganze.
Ausserdem habe ich in meiner .htaccess folgendes (ist im Root Folder):
Options -MultiViews
RewriteRule ^about about.php [NE]
Options +MultiViews
Bitte um hilfe :9
Edit: manchmal bekomme ich auch folgenden Error (in den Logs):
[Sun Aug 22 11:25:30 2010] [error] [client *] (13)Permission denied: cannot read directory for multi: /var/chroot/home/content/html/folder/