表单文件(图片)上传到服务器,权限自动变成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);

分析:按理说加了这句是不会有问题的,不知道是不是跟服务器自动的权限配置冲突了,反正删除掉就恢复正常了。

原文地址:https://www.cnblogs.com/chenyingying0/p/13228248.html