【问题标题】:codeigniter multiple file upload at once using a single input fieldcodeigniter 使用单个输入字段一次上传多个文件
【发布时间】:2020-07-25 16:28:45
【问题描述】:

我在使用单个输入字段一次上传多个文件时遇到问题,

我的 HTML 表单如下所示

<form method="post" action="upload.php" enctype="multipart/form-data">
    <input type="file" name="files[]" multiple/>
    <input type="submit" />
</form>

在我的控制器中,我正在这样检查

echo "<pre>; print_r($_FILES); die; 

当我选择 2 个 pdf 文件时,我会得到这样的输出

大批 ( [文件] => 数组 ( [名称] => 数组 ( [0] => myfile.pdf ) [类型] => 数组 ( [0] => ) [tmp_name] => 数组 ( [0] => ) [错误] => 数组 ( [0] => 1 ) [大小] => 数组 ( [0] => 0 ) ) )

我应该在输出中得到 2 个数组,对吧?那么,这里有什么问题呢?

【问题讨论】:

    标签: php html forms codeigniter file-upload


    【解决方案1】:

    尝试关注

    print_r($_FILES['files']);
    

    如果这不起作用,以下应该起作用

    print_r($_FILES['files[]']);
    

    也可以看看here

    错误值 1:UPLOAD_ERR_INI_SIZE 上传的文件超过了 php.ini 中的 upload_max_filesize 指令。 (-source)

    你可以在你的代码中设置这些

    ini_set('max_file_uploads',1000);
    ini_set('post_max_size','5000M');
    ini_set('upload_max_filesize','5000M');
    

    【讨论】:

    • 我的 max_file_uploads 是 20,我的 post_max_size 是 1000M
    • print_r($_FILES['files[]']);这也行不通
    • upload_max_filesize 呢?根据错误值肯定是这个问题。
    • upload_max_filesize = 1000M
    • 您是在本地服务器上运行代码吗?文件总大小是多少?
    【解决方案2】:

    在您的控制器中尝试以下代码:

    echo "<pre>"; 
    $_FILES['files']; // change over here
    die();
    

    【讨论】:

    • 这是什么意思?
    • 打印存储在files中的文件列表
    • 我试过了,但仍然显示最新选择的文件而不显示所有文件
    • 那么第二行应该有print_r()还是echo
    • 是的,我在其中添加了一个 print_r()
    猜你喜欢
    • 2013-10-18
    • 2012-04-08
    • 2014-09-26
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2023-02-12
    相关资源
    最近更新 更多