Upload-Directory

Hallo allerseits,

Beim Versuch, über ein Uploadformular eine Datei auf meinen Server upzuloaden bekomme ich immer die Fehlermeldung, daß der das Direktory nicht finden kann. Was mache ich da falsch. Übrigens, wenn ich einfach "/" als Pfad angebe, tut sich nichts. php meldet aber, das kein Fehler aufgetaucht ist und die Datei erfolgreich upgeloaded wurde.. Bloss wo hin? ;)

Ich habe die von mir modifizierte Beispieldatei drangehangen:

<?php
// In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt $_FILES verwenden.
// In PHP kleiner als 4.0.3 verwenden Sie copy() und is_uploaded_file() anstatt von
// move_uploaded_file()

$uploaddir = '/mvc/test';

print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
print_r($_FILES);
} else {
print "Possible file upload attack! Here's some debugging info:\n";
print_r($_FILES);
}

?>

Wobei "/mvc/test/" das Serververzeichnis darstellt, wo hin die hochzuladende Datei hin soll.
 
Original geschrieben von fly_singapore
Wobei "/mvc/test/" das Serververzeichnis darstellt, wo hin die hochzuladende Datei hin soll.
Bist Du Dir wirklich sicher, dass Du die Datein ins Web-Root laden willst? ;)
 
Hallo...

Natürlich will ich die Dateien NICHT in Root-Verzeichnis stellen. Ich habe es nur mal ausprobiert. Das ganze Upload-Thema per PHP ist mir ziemlich neu..

eigentlich heisst der richtige Pfad: //Q8IF8/mvc/upload/

Funktioniert aber trotzdem nicht

:(
 
auch der wäre falsch.

bei einer folgenden Verzeichnisstruktur
/home/datei_die_datei_speichert.php
/home/Q8IF8/mvc/upload
wäre aus sicht des sklriptes der Pfad "Q8IF8/mvc/upload/" richtig,

bei der Verzeichnisstruktur
/home/datei_die_datei_speichert.php
/Q8IF8/mvc/upload
wäre aus sicht des sklriptes der Pfad "/Q8IF8/mvc/upload/" richtig.
 
Original geschrieben von fly_singapore
Hallo...

Natürlich will ich die Dateien NICHT in Root-Verzeichnis stellen. Ich habe es nur mal ausprobiert. Das ganze Upload-Thema per PHP ist mir ziemlich neu..

eigentlich heisst der richtige Pfad: //Q8IF8/mvc/upload/

Funktioniert aber trotzdem nicht

:(
Kleiner Tipp: Wenn Du schon unbedingt vom Web-Root aus referenzieren musst, dann auch bitte mit dem komplettem Pfad ;)

Hier mal ein kleines Beispiel:

Code:
/
/user/
/user/www.domain.de/
/user/www.domain.de/htdocs
/user/www.domain.de/htdocs/admin
/user/www.domain.de/htdocs/upload
So könnte z.b. eine Ordnerstruktur aussehen.

Falls Du jetzt an Deinem Upload Pfad an den Anfang ein / stellst, dann versucht das Script logischerweise die Datei auf der obersten Ebene zu speichern, was, wie zu erwarten natürlich nicht funktioniert, da Du (in der Regel) erst ab der htdocs-Ebene (sprich: Dein Docoument-Root) speichern kannst.

Also, nehmen wir mal an, Du hast eine Datei im Ordner admin liegen, mit der Du eine Datei auf dem Server hochladen willst. Diese Datei sollte dann im Ordner upload gespeichert werden. Jetzt hast Du mehrere Möglichkeiten wie Du den Pfad angeben kannst:

PHP:
$strPath = '../upload/';
Alternativ könntest Du dich auch dem $_SERVER-Array bedienen:

PHP:
$strPath = $_SERVER['DOCUMENT_ROOT'].'/upload/';
/* in der variable steht nun: /user/www.domain.de/htdocs/upload/ */

So sollte das eigentlich funktionieren. Du musst jetzt das ganze natürlich auf deine Ordnersturktur anpassen ;)
 

Neue Beiträge

Zurück