如何在PHP中计算上传的文件?

时间:2017-08-18 10:37:52

标签: php loops uploading


我最新的问题是计算上传的文件。我已经使用count($_FILES)完成了此操作,但这里有问题显示给我 它只显示3个文件,这真的很奇怪,因为我认为它完美无缺 但到了这一点。这是PHP中的代码,以及用HTML上传文件的代码。当你查看count函数时,你会看到我提到的文件名。在我的情况下它并不重要,因为即使我只键入count($_FILES)它也不起作用。我也尝试使用var_dump($_FILES);,但它只显示了1个文件,而不是更多。

$i = 0;
$target = "gallery/";
for($i=0; $i<=count($_FILES['ufile']); $i++) {
        if(($_FILES['ufile']['type'][$i]== 'image/jpeg')
        ||($_FILES['ufile']['type'][$i]== 'image/gif')
        ||($_FILES['ufile']['type'][$i]== 'image/png')
        &&($_FILES['ufile']['size'][$i]<5242880)
        &&($_FILES['ufile']['error'][$i] == 0)) {
                $image = $_FILES['ufile']["name"][$i];
                $temp = explode(".", $_FILES['ufile']["name"][$i]);
                $gallery_img = $i . '_' .round(microtime(true)) . '.' . end($temp) ; //gallery is ready
                $final_gallery[$i] = $gallery_img;
                $tmpFilePath = $_FILES['ufile']['tmp_name'][$i];
                move_uploaded_file($tmpFilePath, $target . $gallery_img);
    }
}

和HTML:

IMAGES TO GALLERY:<input name="ufile[]" type="file" id="ufile[]" multiple><br><br>

4 个答案:

答案 0 :(得分:0)

你应该试试这个

lit

答案 1 :(得分:0)

在这种情况下,

type = file会显示1,因为您只输入//count($_FILES) will be 2 in this case. <form method="post" enctype="multipart/form-data"> <input name="ufile[]" type="file" id="ufile[]" multiple><br><br> <input name="extrafile" type="file" id="udfile[]" multiple><br><br> <input type="submit" name="submit" value="upload"> </form> 。如果您要添加另一个输入文件类型,则会显示2。

name

现在发布的每个文件输入都有5个元素,分别是typetmp_nameerrorsizecount($_FILES['ufile'])。因此,如果您执行count($_FILES['ufile']['name']),则会显示始终显示5。

因此,在这种情况下,计算选择上传的文件数量的正确答案是 ?> <form method="post" enctype="multipart/form-data"> <input name="ufile[]" type="file" id="ufile[]" multiple><br><br> <input type="submit" name="submit" value="upload"> </form>

public function orders(){
  return $this->hasMany('\App\Orders');
}

答案 2 :(得分:-1)

试试这个 count($_FILES['ufile']['name'])

答案 3 :(得分:-1)

哥们!这应该对你有用

for($i=0; $i<=count($_FILES); $i++) {