首页 文章

PHP中的$ _FILES数组为空

提问于
浏览
2

我试图通过PHP脚本上传文件,但我的$ _FILES数组总是空的?我的文件HTML输入元素的$ _POST数据条目具有文件名...我的本地系统上没有创建任何文件 .

我已经验证了对temp文件夹的写访问权限并明确设置了它 . 我检查了phpinfo()以确保启用了文件上传,它们是 .

有什么可以阻止这个? mod_rewrite会导致什么吗?

谢谢!

3 回答

  • 12

    如果你有正确的enctype( <form method="post" enctype="multipart/form-data"> ),然后检查$ _FILES中的errno变量,有各种可能的失败原因 . 典型的是超出MAX_FILE_SIZE .

    http://php.net/manual/en/features.file-upload.errors.php

    自PHP 4.2.0起,PHP会返回适当的错误代码以及文件数组 . 错误代码可以在PHP文件上载期间创建的文件数组的错误段中找到 . 换句话说,错误可能在$ _FILES ['userfile'] ['error']中找到 . UPLOAD_ERR_OK值:0;没有错误,文件上传成功 . UPLOAD_ERR_INI_SIZE值:1;上传的文件超过了php.ini中的upload_max_filesize指令 . UPLOAD_ERR_FORM_SIZE值:2;上载的文件超出了HTML表单中指定的MAX_FILE_SIZE指令 . 等等

  • 3

    您是否在表单中定义了enctype?

    <form method="post" enctype="multipart/form-data">
    

    如果您未设置文件,则不会上传任何文件 .

  • 14

    表单是否具有正确的enctype?

    enctype="multipart/form-data"
    

相关问题