首页 > 解决方案 > 如何清除多个文件上传数组中的空数组

问题描述

我遇到过这样的问题。这就是解决方案。

$file_count=count($_FILES["sozlesme_pdf"]["tmp_name"]);
        for ($i=0; $i<$file_count; $i++) {
            if($_FILES["sozlesme_pdf"]["error"][$i]==0){
                $sozlesme_array["name"][]=$_FILES["sozlesme_pdf"]["name"][$i];
                $sozlesme_array["type"][]=$_FILES["sozlesme_pdf"]["type"][$i];
                $sozlesme_array["tmp_name"][]=$_FILES["sozlesme_pdf"]["tmp_name"][$i];
                $sozlesme_array["error"][]=$_FILES["sozlesme_pdf"]["error"][$i];
                $sozlesme_array["size"][]=$_FILES["sozlesme_pdf"]["size"][$i];
            }
} print_r($sozlesme_array);

...

上传多个文件时,如果其中一个文件为空,则会在数组中返回此类错误。

Array
(
    [name] => Array
        (
            [0] => 
            [1] => file.pdf
        )

    [type] => Array
        (
            [0] => 
            [1] => application/pdf
        )

    [tmp_name] => Array
        (
            [0] => 
            [1] => C:\wamp64\tmp\php2FE0.tmp
        )

    [error] => Array
        (
            [0] => 4
            [1] => 0
        )

    [size] => Array
        (
            [0] => 0
            [1] => 150728
        )

)

我想删除数组中的空元素。 https://indir360.com/

儿子 dakika phpstorm indir

标签: php

解决方案


您应该检查文件名,如下所示:

$file_count=count($_FILES["sozlesme_pdf"]["tmp_name"]);
        for ($i=0; $i<$file_count; $i++) {
            if(isset($_FILES["sozlesme_pdf"]["name"][$i]) && !empty($_FILES["sozlesme_pdf"]["name"][$i])){
                $sozlesme_array["name"][]=$_FILES["sozlesme_pdf"]["name"][$i];
                $sozlesme_array["type"][]=$_FILES["sozlesme_pdf"]["type"][$i];
                $sozlesme_array["tmp_name"][]=$_FILES["sozlesme_pdf"]["tmp_name"][$i];
                $sozlesme_array["error"][]=$_FILES["sozlesme_pdf"]["error"][$i];
                $sozlesme_array["size"][]=$_FILES["sozlesme_pdf"]["size"][$i];
            }
} print_r($sozlesme_array);

推荐阅读