qq_笑_17
以下是PHP文件上传的检查列表:请查看php.ini:file_uploads = Onpost_max_size = 100Mupload_max_filesize = 100M你可能需要用.htaccess或.user.ini如果您正在共享主机,并且无法访问php.ini.确保您正在编辑正确的ini文件-使用phpinfo()函数来验证实际应用的设置。另外,确保你没有拼写错误的大小-它应该是100M 不 100MB.确保你的
标记具有enctype="multipart/form-data"属性。没有其他标签会起作用,它必须是您的表单标记。再检查一下拼写正确..重复检查多部分/表单-数据被直引号包围,而不是从Word或网站博客粘贴的智能引号(WordPress将直引号转换为角引号!)如果页面上有多个窗体,请确保它们都具有此属性。手动输入它们,或者尝试手动输入直单引号。确保没有具有相同的两个输入文件字段。name属性。如果需要支持多个,请将方括号放在名称的末尾:确保您的tmp和上载目录具有正确的读/写权限集。临时上载文件夹在PHP设置中指定为upload_tmp_dir.确保您的文件目标和tmp/上载目录中没有空格。确保所有在你的页面上紧贴标签。确保窗体标记具有method="POST"..GET请求不支持多部分/表单数据上载。确保您的文件输入标记具有name属性。ID属性是不够的!ID属性用于DOM,而不是POST有效负载。确保您没有使用Javascript禁用提交时的字段确保您没有嵌套类似于检查HTML结构中是否存在无效/重叠标记,如标签试着上传非常小的文件,以缩小是否是文件大小的问题。检查可用的磁盘空间。虽然非常罕见,但本文中也提到了这一点。PHP手册页面注释:如果$_files数组突然神秘地变为空,即使您的表单看起来是正确的,您也应该检查临时文件夹分区可用的磁盘空间。在我的安装中,所有文件上传都在没有警告的情况下失败。在咬牙切齿之后,我试着腾出更多的空间,然后文件上传突然又开始工作了。确保您不是通过Ajax POST请求提交表单,而不是通过导致页面重新加载的普通POST请求提交表单。我查看了上面列表中的每一点,最后发现我的$_files变量为空的原因是我使用Ajax POST请求提交表单。我知道也有使用Ajax上传文件的方法,但这可能是$_files数组为空的一个有效原因。其中一些要点的资料来源:http:/getluky.net/2004/10/04/apachephp-_files-数组-神秘地-空/