kostenloser Webspace werbefrei: lima-city


PHP Mehrere Dateien hochladen?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    h**o

    Hallo,

    Ich möchte wie da bei Lima-City hochladen, also zuerst wählt man wieviel Dateien man hochladen will und nachher kann man die Dateien hochladen.
    (zB wenn ich 7 reinschreibe kann ich 7 Dateien gleichzeitig hochladen)

    Kann jemand mir helfen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Man besorge dir einen FTP-Uploader!
    Dafür musst du dir natürlich erstmal Traffic für FTP bei der Auktion ersteigern!

    Dann kannst du soviele PHP Dateien draufknallen (solange sie Sinn ergeben) wie du möchtest)

    Grüße
    Tom
  4. Autor dieses Themas

    h**o

    Danke für deine Hilfe aber..,
    Du hast mich falsch verstanden. Ich möchte diese Uploader auf meinenm Website haben sodass andere Leute auch hochladen können, nicht nur für mich.
  5. das machst du am Besten auch über FTP-Uploader!
    Is mir ein zu hoher Sicherheitsfaktor ^^'

    Nee, sorry, ich könnte sowas nicht, wenn mir einer meine dateien klaut is es aus!

    Grüße
    Tom
  6. logd05 schrieb:
    das machst du am Besten auch über FTP-Uploader!
    Is mir ein zu hoher Sicherheitsfaktor ^^'

    Nee, sorry, ich könnte sowas nicht, wenn mir einer meine dateien klaut is es aus!

    Grüße
    Tom

    Du hast ihn net verstanden.
    Er will nur, das andere ihm etwas in ein bestimmtes Verzeichnis hochladen können, und vorher auswählen dürfen wie viele Dateien sie hochladen wollen.
    Nicht, dass die was verändern/klauen dürfen/sollen.
    @topic:
    Ich würde das mit einer while schleife probieren, die solange das Array der gesendeten Dateien durchliest bis es keine mehr gibt und die hochlädt.
    Allerdings müsste ich für genauen Code etwas länger noch überlegen und dazu hab ich jetz keine Zeit.

    -AlienDwarf
  7. Autor dieses Themas

    h**o


    logd05 schrieb:
    das machst du am Besten auch über FTP-Uploader!
    Is mir ein zu hoher Sicherheitsfaktor ^^'

    Nee, sorry, ich könnte sowas nicht, wenn mir einer meine dateien klaut is es aus!

    Grüße
    Tom

    Du hast ihn net verstanden.
    Er will nur, das andere ihm etwas in ein bestimmtes Verzeichnis hochladen können, und vorher auswählen dürfen wie viele Dateien sie hochladen wollen.
    Nicht, dass die was verändern/klauen dürfen/sollen.
    @topic:
    Ich würde das mit einer while schleife probieren, die solange das Array der gesendeten Dateien durchliest bis es keine mehr gibt und die hochlädt.
    Allerdings müsste ich für genauen Code etwas länger noch überlegen und dazu hab ich jetz keine Zeit.

    -AlienDwarf


    Hallo,

    Danke für deinen Antwort aber ebe ich bin nicht so gut in PHP und das mit Array oder while Schleife kann ich gar nicht. Ich kann nur eine PHP Datei ändern. Mehr weiss ich leider nicht also ich möchte gern gane Script haben wenn ihr es weisst. THX
  8. <?php
    $ordner = "uploads/"; //Ordner in den die Dateien geladen werden, muss mit / enden.
    if(!is_nummeric($_POST['anzahl']) || $_POST['anzahl']<1) {
    ?>
    <form action="" method="POST">
    Wieviele Dateien wollen Sie hochladen? <input type="text" name="anzahl" value="1" size="2"><br>
    <input type="submit" value="Absenden">
    </form>
    <?php
    } else {
    if(!$_POST['upload']) {
    ?>
    <form action="" method="POST">
    <input type="hidden" name="anzahl" value="<?php echo $_POST['anzahl']; ?>">
    <?php
    while($i=0; $i<$_POST['anzahl']; $i++) {
    ?>
    <br><input type="file" name="<?php echo $i; ?>">
    <?php
    }
    echo"<br><br><input type=\"submit\" value=\"Hochladen\"></form>";
    } else {
    while($i=0;$i<$_POST['anzahl']; $i++) {

    move_uploaded_file($_FILES[$i]['tmp_name'], $ordner.$_FILES[$i]['name']);

    }
    echo"Alle hochgeladen";
    }
    }
    ?>

    Ungetestet.
  9. also ich hab ma eins gehabt, das hat auch funktioniert...

    hier ma der code dazu.. is n bissl lang, aber was solls...

    $erlaubt = array("bmp","avi","midi","mpeg","mpg","mp3","wav","wmv","wma",
    			     "mov","rar","zip","ace","tar","exe","lzh","gz","bz2","bz2","jar"); 
    $upload_dir = "temp";      //Zielverzeichniss. Ohne / am Schluss 
    //--------------------------------------------------------------------------- 
    
    if (isset ($_GET["step"])) 
    $step = $_GET["step"]; 
    else 
    $step = 1; 
    
    switch ($step) 
    { 
      //--------------------------------------------------------------------------- 
      //Schritt Eins 
      case 1: 
     
    echo "<form action=$PHP_SELF?step=2 method=POST>
    	  <table width=100% border=0 cellspacing=2 cellpadding=0> 
             	<tr valign=top> 
          			<td width=250 bgcolor=#666666> 
            			<font color=#FFFFFF>Wieviele 
            Dateien wollen Sie uploaden?</font></td> 
          <td bgcolor=#CCCCCC> 
            <input name=ii type=text id=ii size=8> 
            <font color=#FF0000 size=2>Beliebige 
            Zahl eingeben...</font> 
          </td> 
        </tr> 
        <tr valign=top> 
          <td width=250 bgcolor=#666666> 
            <font color=#FFFFFF>weiter zu 
            Schritt Zwei...</font> 
          </td> 
          <td bgcolor=#CCCCCC> 
           <input name=step2 type=submit value=Schritt 2> 
          </td> 
        </tr> 
      </table> 
    </form>";
    
      break; 
      //Schritt Eins Ende 
      //--------------------------------------------------------------------------- 
      //Schritt Zwei 
      case 2: 
      if ($_POST["step2"]) 
      { 
      echo $id;
       $ii = $_POST["ii"]; 
    echo "<form name=form1 method=post action=$PHP_SELF?step=3 enctype=multipart/form-data name=form1> ";
    ?>   <table width="100%" border="0" cellspacing="2" cellpadding="0"> 
        <tr valign="top"> 
          <td width="250" bgcolor="#666666"> 
            <strong><font color="#FFFFFF">Bitte f&uuml;gen 
            Sie die Dateien ein!</font></strong> 
          </td> 
          <td bgcolor="#CCCCCC">&nbsp; </td> 
        </tr> 
    <?php     
        for ($i=1; $i <= $ii; $i++) 
        { 
          echo "<tr valign=\"top\">\n"; 
          echo "  <td width=\"250\" bgcolor=\"#666666\">\n"; 
          echo "    <strong><font color=\"#FFFFFF\">Datei Nr. $i</font></strong>\n"; 
          echo "   </td>\n"; 
          echo "  <td bgcolor=\"#CCCCCC\">\n"; 
          echo "    <input name=\"file[]\" type=\"file\" id=\"file[]\">\n"; 
          echo "  </td>\n"; 
          echo "</tr>\n"; 
        } 
    ?> 
         
        <tr valign="top"> 
          <td width="250" bgcolor="#666666"> 
            <strong><font color="#FFFFFF">weiter zu 
            Schritt Drei...</font></strong> 
          </td> 
          <td bgcolor="#CCCCCC"> 
            <input name="step3" type="submit" id="step3" value="Schritt 3"> 
          </td> 
        </tr> 
      </table> 
    </form> 
    <?php 
      } 
      break; 
      //Schritt Zwei Ende 
      //--------------------------------------------------------------------------- 
      //Schritt Drei 
      case 3: 
      if (isset ($_POST["step3"])) 
      { 
      //Hier Zählen wir die Dateien. (-1 weil das Array bei [0] beginnt!) 
       $count = (count ($_FILES["file"]["name"]))-1; 
        
       //Die Schleife um alle Dateifelder zu durchlaufen 
       for ($i = 0; $i <= $count; $i++) 
       { 
        //Um Datei Nr. 1, Datei Nr. 2, usw anzeigen zu können! 
        $a = $i + 1; 
        //Falls kein Error besteht! 
        if ($_FILES["file"]["error"][$i] == 0) 
        { 
         //Falls die Dateien hochgeladen werden konnten 
    	 $type = explode(".",$_FILES["file"]["name"][$i]);
    	 $type = $type[sizeof($type)-1];
    	 if(array_search($type,$erlaubt))
    	 {echo "Nicht erlaubter Dateityp: <font color=red>".$type." -> ".$_FILES["file"]["name"][$i]."</font><br>"; continue;}
    	 
         if (move_uploaded_file($_FILES["file"]["tmp_name"][$i],$upload_dir . "/" . $_FILES["file"]["name"][$i])) 
          echo "Die Datei <b>".$_FILES["file"]["name"][$i]."</b> wurde erfogreich hochgeladen!<br>\n"; 
         else 
          echo "Fehler beim Hochladen der Datei Nr. " . $a . "!<br>\n"; 
        } 
        else 
         echo "Datei Nr. $a Fehler: keine Datei ausgewählt\n<br>"; 
       } 
      } 
      break; 
      //Schritt Drei Ende 
    }


    mfg
  10. philippchristmann

    philippchristmann hat kostenlosen Webspace.

    Also ich hab den mal bei mir einfach so zum Spaß ausprobiert und er klappt nicht... Wenn ich die Anzahl der Dateien angebe und dann auf Schritt klicke kommt 404: Datei nicht gefunden
  11. @Ranglisten:
    Dein Script ist ja schön udn gut, aber man soltle nie die Dateiendungen vergleichen, sondern immer nur den Filetype!

    Die Dateiendungen sind Betirbssystem abhängig demnach ungenau.

    Der Typ der Datei ist in $_FILES['datei']['type']

    gespeichert.


    ¤dit: ich habe das ganze mit einer foreach schleife gelöst. Dann muss man nur dafür sorgen, dass die Dateifelder unterschiedliche namen haben. Fertig ist das ganze.

    foreach($_FILES as $key => value)
    {
    printf "Die momentane Datei ist:" . $_FILES[$key]['name'];
    }


    Fertig ist.

    Beitrag geaendert: 29.12.2006 17:41:14 von adrians
  12. Es gibt Upload scripte wie sand am Meer...
    Einfach mal googlen ;):rolleyes:
    Sollte nicht so schwer sein.

    Gruss H4nSolo

  13. Also ich hab den mal bei mir einfach so zum Spaß ausprobiert und er klappt nicht... Wenn ich die Anzahl der Dateien angebe und dann auf Schritt klicke kommt 404: Datei nicht gefunden



    hast du auch wirklich mit der maus geklickt`? denn aus einem mir unbekannten grund, funkt es nicht, wenn man dort mit der enter taste weiter will... da kommt ne weiße seite... und mit klicken funkt es bei mir 100%


    @adrians:
    wenn ich aber den dateityp vergleiche, kann ich doch nur "gruppen" zulassen oder verbieten, oder nicht? also z.b. image und bmp würden doch unter den selben dateityp fallen, oder nich?

    und, wieviele dateitypen gibt es denn? ich weiß doch gar nicht, welche es gibt, und demnach kann ich auch nichts eingeben, was zugelassen oder verboten werden soll... verstehst?

    bin dir sehr dankbar, wenn mir da n tip gibst. ;-)

    mfg
  14. Es gibt abertausende... Beispielsweise

    apllication/mx_download
    image/jpeg
    image/gif
    image/png
    text/plain
    [...]


    Man müsste einfach nur suchen. Das ist Betriebssystem unabhängig und. tjaha..das klappt.
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!