【问题标题】:php error when uploading at the same time同时上传时出现php错误
【发布时间】:2014-04-14 06:58:39
【问题描述】:

我有一个非常简单的上传功能,可以接收来自 $FILES 的数据(图片) - 它在不时上传时工作正常。但是,如果我增加费用并快速发送大量文件,它会崩溃(我什至没有收到错误消息...)

显然,这里上传多个文件不是问题-文件可能由不同的用户上传...

在 index.php 中,我有:

switch ($_POST['command']) {    
case "testWrite":
testWrite($_FILES['picture']);
break;

那么函数是:

function testWrite($data){
    $filename=....;
    if ($data['error']==0) {
        if (move_uploaded_file($data['tmp_name'], $filename)) {

        } else {

        };
    }
}

我错过了什么?

【问题讨论】:

    标签: php apache file-upload upload


    【解决方案1】:

    您可以检查并提高max_file_uploadsmemory_limitphp.ini 设置。 最后一个设置不是那么明显,但也会影响文件上传。

    启用错误报告:

    error_reporting(E_ALL);
    ini_set('display_errors', 1); 
    

    在您的 else 部分中,您可能会转储错误:

    else {
        echo 'File upload error: ' . $_FILES[0]['error'];
        // or maybe var_dump($_FILES); to see it all
    }
    

    【讨论】:

    • 我检查了 ['error'] 并且它是空的 - 奇怪的是,当我每秒发送 10 个文件(1ko 大小的文件)时,['tmp_name'] 甚至是空的! (而通常这是真正的 tmp 文件名......)
    • 我已经用 var_dump 进行了测试。如果我尝试快速上传 10 个文件,前 9 个文件将失败,甚至不返回 var_dump !!!我已经通过完整性检查进行了双重检查,我通常可以看到 $_FILE 的 var_dump ...
    • 嗯,很棘手。请检查post_max_sizeupload_max_filesize - 只是为了确保这些值已设置并且大于文件大小。 tmp 文件夹和目标文件夹的文件夹权限(可写)?
    • 我已经仔细检查了托管服务 - 与文件的 1ko 相比,它就像 10mo 和 20mo... ......
    • 仅供参考 - 托管是网站地面,它是一个共享托管帐户。不知道这里是否相关
    猜你喜欢
    • 1970-01-01
    • 2017-02-21
    • 2019-04-17
    • 1970-01-01
    • 2012-12-08
    • 2016-04-25
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多