表单文件(图片)上传到服务器,权限自动变成363,无法访问
通过input:file表单上传的图片文件,显示上传成功,但在浏览器无法访问
进入宝塔(centos7)查看,发现上传的图片权限是363,手动改成755之后又可以访问了。
之前已经设置过该目录及子文件权限默认都是755,但是新上传的文件还是会权限默认363
在windows服务器和本地都是正常的,只在centos服务器上出问题
上传代码如下:
<?php include_once("adm_rabc.php"); error_reporting(0); //图标上传 if(!empty($_FILES['icon']['name'])){ $file_name = $_FILES['icon']['name']; //把文件另存为数组 $file_tmp_name = $_FILES['icon']['tmp_name']; //把上传临时文件另存为数组 $file_type = $_FILES['icon']["type"]; //把上传文件类型另存为数组 if (($file_type == "image/x-icon") && ($file_type < 1024000)){ $newfilename='favicon.ico'; $path="../templates/" .$newfilename; move_uploaded_file($file_tmp_name,$path); //重命名文件规则,和路径 chmod($path,755); }else{ exit("<script>alert('图标格式错误!');window.location=\"icon.php\";</script>"); } }else{ exit("<script>alert('图标上传失败!');window.location=\"icon.php\";</script>"); } exit("<script>alert('图标上传成功!');window.location=\"icon.php\";</script>"); ?>
解决方案:删除这句chmod($path,755);
分析:按理说加了这句是不会有问题的,不知道是不是跟服务器自动的权限配置冲突了,反正删除掉就恢复正常了。