2016-07-13 3 views
0

Je suis un débutant en php et je fais maintenant un projet en php. Je veux télécharger des images (maximum quatre fichiers image seulement) .J'ai utilisé le code suivant pour télécharger des images.comment créer plusieurs fichiers uploadés en 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 pour cieux format bien que le code afin qu'il puisse être lu par les humains – RiggsFolly

Répondre

2

Première: S'il vous plaît, apprenez à mettre en retrait!

Votre compte est incorrect. Vous comptez la taille $_FILES['images']['name'], mais vous devez compter combien de $_FILES['images'] il y a. Donc, changer votre code comme ceci (notez la nouvelle position de [$i] clés):

<?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"]; 
     } 
    } 
}?> 

Ce code fonctionne en supposant que votre HTML est quelque chose comme ceci:

<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[]" />