PHP文件数组具有数据,但大小和错误均为0

时间:2018-09-24 17:18:44

标签: php file-upload

因此,我在使用enctype =“ multipart / form-data”的页面上有一个表单,并且在名为'upload_file'的表单上有一个文件字段。当我提交表单并使用print_r($ _ FILES)时,我得到:

Array
(
    [upload_file] => Array
        (
            [name] => Test-Blank-PDF.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phpvr5N3Z
            [error] => 0
            [size] => 0
        )

您会注意到错误和大小均为0。我使用以下代码来处理上传:

$file = "/tmp/" . $_FILES['upload_file']['name'];

if ($_FILES['upload_file']['error'] === UPLOAD_ERR_OK) {
    move_uploaded_file($_FILES['upload_file']['tmp_name'], $file);
}

我在/tmp/Test-Blank-PDF.pdf中获得了创建的文件($ file),但它是0字节(空)。如果我还尝试在脚本完成之前使用file_get_contents保存/读取$ _FILES ['upload_file'] ['tmp_name']的值,则该值也为空。

它在带有PHP 5.6的CentOS 6上运行。尽管其他表单通过AJAX运行,但其他表单上载和处理文件也可以,但是它们仍然在后端使用$ _FILES进行保存。这是唯一没有的。

我已经验证了各种PHP设置(file_uploads和post_max_size均已正确设置)。我的表单使用POST,并且$ _FILES数组确实打印数据(例如不为空)。我检查了Apache的错误日志(包括SSL和纯日志),两者均未出现错误。我什至关闭了iptables进行测试,但仍然失败。

有什么想法吗?我在这里茫然。 :/

0 个答案:

没有答案
相关问题