2016-07-13 10 views
0

Ich bin ein Anfänger in PHP und jetzt ein Projekt in PHP. Ich möchte Bilder hochladen (maximal vier Bilddateien) . Ich habe den folgenden Code verwendet, um Bilder hochzuladen.Wie erstellt man mehrere Dateien hochladen in PHP

<?php if(isset($_POST['submit'])) { 
    $count=count($_FILES["images"]["name"]); 


for($i=0;$i<$count;$i++) {  if ((($_FILES["images"]["type"][$i] == "image/gif") || ($_FILES["images"]["type"][$i] == "image/jpeg") || ($_FILES["images"]["type"][$i] == "image/pjpeg")) && ($_FILES["images"]["size"][$i] < 100000)) { 

if ($_FILES["images"]["error"][$i] > 0) { echo "File Error : " . $_FILES["images"]["error"][$i] . "<br />"; } else { echo "Upload File Name: " . $_FILES["images"]["name"][$i] . "<br />"; echo "File Type: " . $_FILES["images"]["type"][$i] . "<br />"; echo "File Size: " . ($_FILES["images"]["size"][$i]/1024) . " Kb<br />"; 


    if (file_exists("public/images/".$_FILES["images"]["name"][$i])) { echo "<b>".$_FILES["images"]["name"][$i] . " already exists. </b>"; } else { 
    move_uploaded_file($_FILES["images"]["tmp_name"][$i] ,"public/images/".    $_FILES["images"]["name"][$i]); 
    echo "Stored in: " . "public/images/" . $_FILES["images"]["name"][$i] ."<br />"; ?> Uploaded File:<br> <img src="public/images/<?php echo $_FILES["images"]["name"][$i] ; ?>" alt="Image path Invalid" > <?php } } }else { echo "Invalid file detail ::<br> file type ::".$_FILES["images"]["type"][$i] ." , file size::: ".$_FILES["images"]["size"][$i] ; } } }?> 
+4

Oh um Himmels willen Format, das Code, so kann es von Menschen gelesen werden – RiggsFolly

Antwort

2

Zuerst: Bitte, lernen Sie, Einzug!

Ihre Zählung ist schlecht. Sie zählen die $_FILES['images']['name'] Größe, aber Sie müssen zählen, wie viele $_FILES['images'] gibt es. So Ihr Code wie folgt ändern (beachten Sie die neue Position des [$i] Tasten):

<?php 
if (isset($_POST['submit'])) { 
    $count = count($_FILES["images"]); 
    for ($i = 0; $i < $count; $i++) { 
     if ((($_FILES["images"][$i]["type"] == "image/gif") || ($_FILES["images"][$i]["type"] == "image/jpeg") || ($_FILES["images"][$i]["type"] == "image/pjpeg")) && ($_FILES["images"][$i]["size"] < 100000)) { 
      if ($_FILES["images"][$i]["error"] > 0) { 
       echo "File Error : " . $_FILES["images"][$i]["error"] . "<br />"; 
      } else { 
       echo "Upload File Name: " . $_FILES["images"][$i]["name"] . "<br />"; 
       echo "File Type: " . $_FILES["images"][$i]["type"] . "<br />"; 
       echo "File Size: " . ($_FILES["images"][$i]["size"]/1024) . " Kb<br />"; 
       if (file_exists("public/images/" . $_FILES["images"][$i]["name"])) { 
        echo "<b>" . $_FILES["images"][$i]["name"] . " already exists. </b>"; 
       } else { 
        move_uploaded_file($_FILES["images"][$i]["tmp_name"], "public/images/" . $_FILES["images"][$i]["name"]); 
        echo "Stored in: " . "public/images/" . $_FILES["images"][$i]["name"] . "<br />"; 
        ?> Uploaded File: 
        <br> 
        <img src="public/images/ 
        <?php echo $_FILES["images"][$i]["name"]; ?>" alt="Image path Invalid" > 
       <?php 
       } 
      } 
     } else { 
      echo "Invalid file detail ::<br> file type ::" . $_FILES["images"][$i]["type"] . " , file size::: " . $_FILES["images"][$i]["size"]; 
     } 
    } 
}?> 

Dieser Code funktioniert vorausgesetzt, Ihr html so etwas wie dieses:

<input type="file" name="images[]" /> 
<input type="file" name="images[]" /> 
<input type="file" name="images[]" /> 
<input type="file" name="images[]" /> 
<input type="file" name="images[]" /> 
<input type="file" name="images[]" />