PHP move_uploaded_file函数上传失败问题求助
PHP文件上传失败排查方案
从你给出的$_FILES数组:
Array ( [file] => Array ( [name] => horror-scene-domestic-space.jpg [type] => [tmp_name] => [error] => 1 [size] => 0 ) )
核心问题是error字段值为1,这是PHP内置的上传错误码,对应UPLOAD_ERR_INI_SIZE——上传文件的大小超过了php.ini配置中的限制阈值。
具体排查与解决步骤
- 检查
php.ini中的两个关键配置项:upload_max_filesize:单个文件允许上传的最大尺寸(默认通常为2M)post_max_size:POST请求的总数据最大尺寸(必须大于等于upload_max_filesize,因为上传文件属于POST请求的一部分)
- 修改配置值(例如设置
upload_max_filesize = 10M、post_max_size = 12M),修改后重启Web服务器(Apache/Nginx)使配置生效 - 额外确认目标路径
../news/1.jpg:确保../news目录存在,且Web服务器进程(如www-data)拥有该目录的写入权限
注:因为文件未被PHP成功接收,所以tmp_name为空,导致move_uploaded_file必然执行失败,解决文件大小限制问题后再测试上传即可。
内容的提问来源于stack exchange,提问作者ScaryMinds
相关产品推荐
相关产品推荐

