PHP:无法上传ZIP文件

时间:2012-11-21 13:28:27

标签: php file-upload zip

每当我尝试通过PHP上传ZIP文件时,Filesize为0。

其他一切正常:7z,rar,png,xml

例如

(我输出文件大小和测试位置):

File Location: /tmp/phpKNortG/feba81fed1ff5d2c04aa0c42975eb94f.7z
Filesize: 1284


File Location: /tmp/phpEWrmLT/feba81fed1ff5d2c04aa0c42975eb94f.zip
Filesize: 0

我的表单有enctype="multipart/form-data",文件肯定不会太大而无法上传。 (我还将内存限制设置为128 MB,以确保它不是那样)

ini_set('memory_limit', '128M');
set_time_limit(0);

$session_id = "3423840093480344";

mkdir('uploaded_files/' . $session_id);

for($i = 0; $i < count($_FILES['backup_file']['name']); $i++) {
    $file_name = $_FILES['backup_file']['name'][$i];
    $file_type = $_FILES['backup_file']['type'][$i];
    $file_error = $_FILES['backup_file']['error'][$i];
    $file_size = $_FILES['backup_file']['size'][$i];
    $file_tmp = $_FILES['backup_file']['tmp_name'][$i];

    print($file_name . "<br />");
    print($file_type . "<br />");
    print($file_error . "<br />");
    print($file_size . "<br />");
    print($file_tmp . "<br />");

    if($file_error != 0) {
        echo "Error-Code: ".$file_error;
        continue;
    }

    move_uploaded_file($file_tmp, 'uploaded_files/' . $session_id);
}

以下代码输出:

feba81fed1ff5d2c04aa0c42975eb94f.zip
application/zip
0
0
/tmp/phpEWrmLT

它甚至可以识别MIME类型,但文件的大小始终为零字节。 (甚至在用move_uploaded_file移动它之前)

是否存在可能阻止.zip文件上传的服务器设置?

1 个答案:

答案 0 :(得分:1)

memory_limit设置与文件上传无关。

post_max_size和upload_max_filesize的值是什么?.zip文件大小与这些值的比较是什么?