2016-07-13 49 views
0

我是一名PHP初学者,现在在做一个php项目。我想上传图片(仅限最多四个图片文件) 。我用下面的代码上传图片。如何在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

哦,对天上的缘故格式的代码,以便它可以被人读取 – RiggsFolly

回答

2

第一:请学会缩进!

你的计数很糟糕。您正在计算$_FILES['images']['name']大小,但您需要计算有多少个$_FILES['images']。因此,改变你这样的代码(注意:[$i]键的新位置):

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

此代码假设你的HTML是这样的:

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