Ankündigung

Einklappen
Keine Ankündigung bisher.

Dateiupload - mehrer Dateien gleichzeitig

Einklappen

Neue Werbung 2019

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

  • Dateiupload - mehrer Dateien gleichzeitig

    Schönen guten Morgen!

    Ich hab' mal wieder ein Problem. Und zwar möchte ich einen Dateiupload anbieten, bei dem man drei Dateien gleichzeitig hochladen kann. Scheint leider nicht so einfach zu sein. Mein Stand ist zur Zeit dieses Script:
    PHP-Code:
     if( !empty($_FILES['job_pdf_de']['name']) ){
     echo 
    $inhalt[0].'<br>';
      if(
    $_FILES['job_pdf_de']['type'] != 'application/pdf') {
      echo 
    $inhalt[0].'<br>';
      
    $meldung='<span style="color:#CC0000;">Bitte nur Dateien im .pdf Format hochladen!</span>';
      }
      elseif (
    $_FILES['job_pdf_de']['size'] >  200000){
      echo 
    $inhalt[0].'<br>';
      
    $meldung='<span style="color:#CC0000;">Die Datei darf nicht größer als 200kB sein!</span>';
               }  
      elseif( 
    move_uploaded_file($_FILES['job_pdf_de']['tmp_name'], "../pdf/jobangebot_".$inhalt[0]."_de.pdf") ){
      echo 
    $inhalt[0].'<br>';
                    
    $meldung='<a href="../de/jobs.php" target="_blank" style="color:#CC0000;">&Auml;nderung erfolgreich ausgef&uuml;hrt. M&ouml;chten Sie die geänderte Seite <u>ansehen</u>?</a>';
                }
      } 
    Das habe ich dreimal hintereinander gehängt, natürlich jeweils mit unterschiedlichem $_FILES['name']... und im Formular ebenfalls drei verschiedene Abfragefelder. Als ich nur eins davon benutzt habe, hat alles einwandfrei funktioniert. Bei dreien geht gar nichts. Es passiert einfach nichts.

  • #2
    error_reporting?
    fehlermeldung?

    Kommentar


    • #3
      Hallo,
      der $_FILES Array sieht bei mehreren <input type="file" /> Feldern etwas anders aus wenn ich mich richtig erinnere (oder war das nur bei [] so?).

      print_r($_FILES) sollte Aufschluss geben.

      Auch relevant der "error" Schluessel:
      PHP: Error Messages Explained - Manual

      error_reporting bitte mindestens auf E_ALL, besser E_ALL | E_STRICT stellen.
      "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

      Kommentar


      • #4
        var_dump($_FILES)?
        Grundsätzlich muss das gehen. Dabei spielt es keine Rolle, ob die Namen der Felder unterschiedlich, oder einfach ein Array sind. Nur das Resultat ist unterschiedlich. Im ersten Fall enthält $_FILES soviel Elemente wie Upluads angegeben. Im zweiten Fall einen Array mit dem Filenamen und jedes «Unterarray» enthält dann seinerseits soviel Elemente wie Uploads.
        Bsp. Upload F1 und F2
        Code:
        array(2) {
          ["F1"]=>
          array(5) {
            ["name"]=>
            string(8) "test.php"
            ["type"]=>
            string(17) "application/x-php"
            ["tmp_name"]=>
            string(14) "/tmp/phpdumzlA"
            ["error"]=>
            int(0)
            ["size"]=>
            int(573)
          }
          ["F2"]=>
          array(5) {
            ["name"]=>
            string(13) "verlauf14.gif"
            ["type"]=>
            string(9) "image/gif"
            ["tmp_name"]=>
            string(14) "/tmp/php5Q2mea"
            ["error"]=>
            int(0)
            ["size"]=>
            int(6541)
          }
        }
        Beispiel Array F (zwei Elemente):
        Code:
        array(1) {
          ["F"]=>
          array(5) {
            ["name"]=>
            array(2) {
              [0]=>
              string(8) "test.php"
              [1]=>
              string(13) "verlauf14.gif"
            }
            ["type"]=>
            array(2) {
              [0]=>
              string(17) "application/x-php"
              [1]=>
              string(9) "image/gif"
            }
            ["tmp_name"]=>
            array(2) {
              [0]=>
              string(14) "/tmp/php6lrt9W"
              [1]=>
              string(14) "/tmp/phpZ8gZLF"
            }
            ["error"]=>
            array(2) {
              [0]=>
              int(0)
              [1]=>
              int(0)
            }
            ["size"]=>
            array(2) {
              [0]=>
              int(573)
              [1]=>
              int(6541)
            }
          }
        }
        Gruss
        L

        Kommentar

        Lädt...
        X