Jan: Probleme mit Datei-Upload

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!

  1. 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.

    1. 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>

  2. 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");

    1. 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

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }