Probleme mit Datei-Upload
Jan
- php
0 Felix Riesterer
0 Jan
0 Jan0 wahsaga
Hallo,
versuche über HTTP eine Datei hochzuladen. Das funktioniert aber nicht. Komischerweise kann ich den Dateinamen ausgeben lassen, aber als Größe wird 0 angezeigt und als Dateityp gar nichts.
Ausgabe mache ich über:
echo $bild1_type.'Bildtyp';
oder
echo "Der Name des Files ist ".$HTTP_POST_FILES['bild1']['name']."<br>";
echo "Der Grösse des Files ist ".$HTTP_POST_FILES['bild1']['size']."<br>";
echo "Der File ist vom Typ: ".$HTTP_POST_FILES['bild1']['type']."<br>";
Warum kann er mir den Dateityp nicht ausgeben, wenn doch der Dateiname angezeigt wird und die Größe zeigt er 0 an.
Gibt es da Unterschiede zwischen PHP3 und PHP4??
Wäre sehr dankbar für Hilfe!
Lieber Jan,
versuche über HTTP eine Datei hochzuladen. Das funktioniert aber nicht.
möchtest Du uns das Raten nicht mit einem klitzekleinen Codeschnipsel etwas erleichtern? Besonders das HTML-Formular würde mich interessieren. Wenn da als enctype nicht "text/multipart" eingestellt ist, dann kann es nicht klappen.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Sorry! Auszug aus der Formular-Datei:
<FORM NAME="xy" ACTION="xy_eintragen.php3" METHOD="Post" ENCTYPE="multipart/form-data">
<INPUT TYPE="file" NAME="bild1"><br>
Das mit dem Dateityp scheint zu funktionieren. Jetzt gibts aber ein Problem beim Upload. Er kopiert die Datei nicht hoch.
Warning: copy(gespraeche.pdf): failed to open stream: No such file or directory in /var/www/vhosts/fb-buko.de/httpdocs/admin/xy_eintragen.php3 on line 39
echo $upload_dir.$_FILES['bild1']['name'];
$dateiname1=$upload_dir.$_FILES['bild1']['name'];
copy($_FILES['bild1']['name'], "$upload_dir");
Ausgabe:
$upload_dir gibt aus: ../Berichte/
$_FILES['bild1']['name'] gibt aus: gespraeche.pdf
Die Variablennamen scheinen zu stimmen. Hab auch schon probiert:
copy($_FILES['bild1']['name'], "$dateiname1");
hi,
Warning: copy(gespraeche.pdf): failed to open stream: No such file or directory
1. Ist dein upload-temp-Verzeichnis etwa das selbe, in dem auch das aktuelle Script läuft? Wohl kaum.
2. Für das Verschieben von hochgeladenen Dateien aus dem temp-Verzeichnis an ihren Zielort sollte nicht copy(), sondern move_uploaded_file() verwendet werden. Und das weiß übrigens automatisch, wo sich die hochgeladene Datei zunächst befindet, da ist also kein Angabe des Pfades nötig, Dateiname reicht aus.
gruß,
wahsaga