以本人使用的是阿里云的CentOS服务器为例:
本地windows系统上可以正常进行文件上传的,将文件传到服务器上文件显示不出来,且利用打印出来的结果是“文件上传失败”
if(!move_uploaded_file($_FILES['avatar']['tmp_name'], $target)){
$GLOBALS['error_message']='上传文件失败';
return;
}
而打印$_FILES[‘avatar’]可以打印出数据
var_dump($_FILES['avatar']);
由此可判断是移动函数move_uploaded_file没有正常执行
解决方案:为临时文件夹与目标文件夹的权限进行了修改,修改为所有人可读可写可操作
1、将临时文件夹的权限修改为所有人可读可写可执行
在临时文件夹下执行,本人使用的临时文件夹为/tmp,故而进入根目录/,执行命令:
chmod 777 tmp
2、将目标文件夹的权限修改为所有人可读可写可执行
进入目标文件夹(uploads)的父文件夹,执行命令:
chmod 777 uploads
3、重启Apache服务器
$sudo systemctl restart httpd