PHP中的$ _FILES数组为空

Ale*_*zzi 2 php mod-rewrite uploading

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

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

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

谢谢!

Vin*_*vic 14

如果你有正确的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指令.

等等


Dam*_*IEU 12

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

<form method="post" enctype="multipart/form-data">
Run Code Online (Sandbox Code Playgroud)

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