如何在php中创建多个文件上传

时间:2016-07-13 11:25:55

标签: php file-upload multiple-file-upload

我是php的初学者,现在在php中做一个项目。我想上传图片(最多只有四个图片文件) 。我使用以下代码上传图片。

event.key

1 个答案:

答案 0 :(得分: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[]" />