2016-07-13 2 views
0

私はPHPの初心者で、現在はPHPでプロジェクトをやっています。画像をアップロードしたい(最大4つの画像ファイルのみ) 。次のコードを使用して画像をアップロードしました。複数のファイルを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[]" /> 
関連する問題