Jensen: Dateiupload mit PHP geht nicht ... :-(

Folgendes Problem.

Ich habe ein Dateiuploadscript. Das Script ist folgendermaßen aufgebaut:

Eingabeteil:

<input name="userfile[]" type="file" size="50">
<input type="submit" name="senden" value="speichern">

das macht der auch ohne Probleme. Er geht zur nächsten Seite.

Script zum hochladen:
<?php
for($i=0;$i<sizeof($userfile);$i++)
{
if(!$userfile_size[$i])
continue;
$UPLOAD = fopen( $userfile[$i], "r" );
$contents = fread( $UPLOAD,$userfile_size[$i]);
fclose( $UPLOAD );
$SAVEFILE = fopen("files//".$userfile_name[$i], "wb" );
fwrite( $SAVEFILE, $contents,$userfile_size[$i] );
fclose( $SAVEFILE );
}
echo "Die Datei wurde gespeichert ... ";
?>

dann arbeitet er eine Weile als ob er die gewählte Datei hochlädt.

Aber in dem Ordner wo ich angegeben hab ist dann nichts drin.

Kann mir jemand helfen oder hat jemand ein anderes Script?

MfG
Jensen

  1. Moin,
    Guckst Du hier findest Du Lösung:

    http://www.dclp-faq.de/q/q-formular-upload-php4.html

    Das nächste mal guckst Du erst </archiv/>
    Dann guckst Du http://php.net und dann Du fragst hier..
    TomIRL

    1. Irgendwie geht das nicht so wirklich. Langsam verzweifel ich hier.

      MfG
      Jensen

      1. Hallo Jensen,

        Irgendwie geht das nicht so wirklich.

        Definiere "geht [...] nicht".
        Wie sieht dein Script jetzt aus (ein Link auf den Code tut es auch)? Bekommst du eine Fehlermeldung? Wenn ja, welche? Was macht das Script (nicht)?

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. mit den worten von helge Schneider:

          Lass sehen!

        2. Also

          hab das Script zum hochladen so eingebunden:

          <?php
            if (isset($_FILES['probe']) and ! $_FILES['probe']['error']) {
                           // and   $_FILES['probe']['size']
              move_uploaded_file($_FILES['probe']['tmp_name']);
              printf("Die Datei %s steht jetzt als " .
                    "zur Verfügung.<br />\n",
                $_FILES['probe']['name']);
              printf("Sie ist %u Bytes groß und vom Typ %s.<br />\n",
                $_FILES['probe']['size'], $_FILES['probe']['type']);
            }
          ?>

          und ich bekomme folgende Fehlermeldung:

          Warning: Wrong parameter count for move_uploaded_file() in /srv/www/htdocs/web18/html/maddy/tutorialzone/tutorialsadminupload.php on line 15

          Zeile 15:
              move_uploaded_file($_FILES['probe']['tmp_name']);

          MfG
          Jensen

          1. Hallo Jensen

            und ich bekomme folgende Fehlermeldung:
            Warning: Wrong parameter count for move_uploaded_file() in »     move_uploaded_file($_FILES['probe']['tmp_name']);

            Welcher Parameter fehlt? http://de.php.net/manual/de/function.move-uploaded-file.php

            Willst Du Deinem Skript nicht sagen, wohin es die Datei zu verschieben hat ;-)
            Sag's ihm!

            Freundliche Grüsse,

            Vinzenz

            1. <?php
                if (isset($_FILES['probe']) and ! $_FILES['probe']['error']) {
                               // and   $_FILES['probe']['size']
                  move_uploaded_file($_FILES['files']['tmp_name']);
                  printf("Die Datei %s steht jetzt " .
                        "zur Verfügung.<br />\n",
                    $_FILES['probe']['name']);
                  printf("Sie ist %u Bytes groß und vom Typ %s.<br />\n",
                    $_FILES['probe']['size'], $_FILES['probe']['type']);
                }
              ?>

              irgendwie versteh ich das nicht. das funktioniert nicht wirklich ...

              kann mal einer ne Korrektur vornehmen?

              MfG
              Jensen

              1. Hallo!

                irgendwie versteh ich das nicht. das funktioniert nicht wirklich ...

                Natürlich nicht, weil Du die Funktion "move_uploaded_file()" falsch anwendest. Vergleiche mal Deine Version mit Deiner Vorlage.

                Vinzenz war so nett Dir den Link zur Beschreibung der Funktion die den Fehler verursacht hat(siehe Fehlermeldung) zu posten, musst Du nur noch draufklicken und nachlesen.

                Also nochmal:
                http://de.php.net/manual/de/function.move-uploaded-file.php

                Da steht dann folgendes:

                "move_uploaded_file" -- Verschiebt eine upgeloadete Datei an einen neuen Ort

                Beschreibung:
                bool move_uploaded_file ( string filename, string destination)

                Diese Funktion prüft, ob die mit "filename" bezeichnete Datei eine gültige Upload-Datei ist (d.h., dass sie mittels PHP's HTTP POST Upload-Mechanismus upgeloaded wurde). Ist die Datei gültig, wird sie zum in "destination" bezeichneten Dateinamen verschoben.

                Fällt Dir da was in Bezug auf Deinen Code auf? Die Fehlermeldung sagt "falsche Parameteranzahl", Vinzenz sagt Dir "Willst Du Deinem Skript nicht sagen, wohin es die Datei zu verschieben hat?"

                kann mal einer ne Korrektur vornehmen?

                Also _noch_ mehr kann man es Dir kaum vorkauen ;-)

                Grüße
                Andreas

              2. Hallo Jensen

                move_uploaded_file($_FILES['files']['tmp_name']);

                Laut http://de.php.net/manual/de/function.move-uploaded-file.php will

                move_uploaded_file -- Verschiebt eine upgeloadete Datei an einen neuen Ort
                bool move_uploaded_file ( string filename, string destination)

                zwei Parameter haben:
                [1] den Dateinamen der hochgeladenen Datei
                [2] das Ziel, wohin die Datei verschoben werden soll

                irgendwie versteh ich das nicht. das funktioniert nicht wirklich ...

                a) Bitte zähle Deine Parameter.
                b) Parameter werden durch Komma getrennt.
                c) Ich komme nur bis 1.
                d) Wieviele Parameter zählst Du?
                e) Wenn Du das gleiche Ergebnis hast wie ich, welcher fehlt?
                   [1] oder [2]

                Freundliche Grüsse,

                Vinzenz