Mehrfachupload Array auslesen?!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehrfachupload Array auslesen?!

    Hi,

    also wie die überschrift schon sagt versuch ich mein bestehendes Bildupload Script zu erweitern, damit ich mehrere Bilder auf einmal hochladen kann. Jetzt kämpf ich mich gerade ein wenig in die Arrays und vorallem wie man die ausließt!?

    Ich geb jetzt erstmal zwei Files in nem Formular mit:

    PHP-Code:
    <tr>
           <
    td height="23" align="left"><input type="file" name="files[]"></td>
      </
    tr
    hoffe das is richtig so...

    und dann will ich diese in ner foreach schleife dann einzelnd uploaden,
    nur leider hab ich leichte Probleme aus dem Array zb den File name rauszulesen weil im Endeffekt ja ein Array(das $file) in einem Array($files) mit gegeben wird oder versteh ich das falsch. Hier der Code:

    PHP-Code:
    / -------------------------------------- Eintrag/Bildupload -------------------------------------
    IF(
    $submit_send){

     
    print_r($files); 

    foreach (
    $files as $file) {

    // Überpruefung ob Bild angegeben
    IF(!$file){
    $error_file_form "<li>Es muss ein Bild ausgewählt werden!</li><br>";
    $error "1";
    }

    // ------------ Wenn Bildupload -----------
    IF($file) {

    //---------------- alte ohne ARRAY -----------------------
    //$datei_max_kbyte = round(($datei_max/1024)); //maximal Dateigröße in KByte
    //$datei_size_kbyte = round(($datei_size/1024)); // DateiSize Info in KByte
    //$datei_size = $_FILES['file']['size']; // DateiSize Info
    //$datei_tmp = $_FILES['file']['tmp_name']; // Dateiname im tmp Verzeichnis
    //$datei_name = $_FILES['file']['name']; // Orginal Dateiname

    $datei_max_kbyte round(($datei_max/1024)); //maximal Dateigröße in KByte
    $datei_size_kbyte round(($datei_size/1024)); // DateiSize Info in KByte
    $datei_size $FILES['size']; // DateiSize Info
    $datei_tmp $FILES['tmp_name']; // Dateiname im tmp Verzeichnis
    $datei_name $FILES['name']; // Orginal Dateiname

    echo "Dateiname: $datei_name<br>\n"
    da $datei_name etc leer ist kann er natürlich nix hochladen, kennt ja nicht mal den Bildname is ja klar. Hoffentlich könnt ihr mir helfen brauch eigentlich nur die oberen Variablen gefüllt dann hab ichs .

    Danke Euch Grüße
    Tom

    ps: Bitte habt Rücksicht mit mir hab das letzte mal vor nem Jahr programmiert, hab auch im Forum was gefunden aber irgendwie war das Script komplett anders aufgebaut wie meins :/.

  • #2
    Hallo Thomtherock,

    die $datei kannst du vielleicht so auslesen:
    PHP-Code:
    $datei_name $_FILES[0]['name'];
    $datei_size $_FILES[0]['size'];
    $datei_tmp $_FILES[0]['tmp'];
    ... 
    Zuletzt geändert von pippo; 06.10.2005, 08:22.
    In Flames - Pinbal Map
    Becoming the Archetype - No Fall Too Far
    Pantera

    Kommentar


    • #3
      hi!

      du kannst ja nur eine datei per input feld hochladen. wenn du jedes input feld festlegst hast du nur die letzte datei die ineinem input feld steht mit der der bezeichnung 'files[]' drin.
      d.h. du hast keinen array, da html ja selber keine arrays kennt.

      du hast dann nur eine datei die du mit $_FILES["files[]"]['name'] oder so weiterverwenden kannst.

      siehe dazu auch: http://de2.php.net/features.file-upload

      Grüße
      Peter

      Kommentar


      • #4
        Hi,

        danke für die Tipps! Also wie würdet ihr das am besten lösen?
        Soll ich praktisch jedes einzelne Inputfeld eigens bennenen und dann abfragen in welchem ich eine datei hochlade? (wäre ja sehr umständlich)

        Kommentar


        • #5
          Original geschrieben von p_rehm
          hi!

          du kannst ja nur eine datei per input feld hochladen. wenn du jedes input feld festlegst hast du nur die letzte datei die ineinem input feld steht mit der der bezeichnung 'files[]' drin.
          d.h. du hast keinen array, da html ja selber keine arrays kennt.

          du hast dann nur eine datei die du mit $_FILES["files[]"]['name'] oder so weiterverwenden kannst.

          siehe dazu auch: http://de2.php.net/features.file-upload

          Grüße
          Peter
          Nene, natürlich kann das so funktionieren wie vom Threadstarter gewünscht und in dem Link von p_rehm findet sich auch ein schönes Beispiel dafür - @tomtherock: scroll dich dazu in dem Link mal zu folgendem Beispiel: 'Example 38-3. Uploading array of files' - damit solltest du klarkommen.

          Klar kann html keine Arrays... html kann nämlich gar nix mit Variablen, Konstanten usw., weil es das auch gar nicht können will/muss - aber es lassen sich sehr wohl damit mehrere Files an ein PHP-Script senden und wenn als Name hierfür etwas wie 'file[]' angebeben wird, liegen die Datei im Script auch in nem array vor.
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #6
            @Quetschi

            danke dann bin ich also doch nicht ganz doof ...nur eben total aus der Übung und mit arrays kenn ich mich halt noch nicht so gut aus. Werd mir das Beispiel anschauen! Super danke!

            Grüße
            Tom

            Kommentar


            • #7
              und meine html logik wurde über den haufen geworfen

              weil ich dachte dass sich die ganzen elemente überschreiben.

              peter

              Kommentar

              Lädt...
              X