PHP无法为目录分配权限

时间:2015-06-02 11:32:00

标签: php linux ubuntu

我想在页面的脚本中创建directory

$critere = array();
$critere["bien_code"] = read_post_int("pk");
$name = "parcelle_". $photo->lireBienPhotoSeq().".png";
if ( ! file_exists (RP_PHOTO_PARCELLE) )
    mkdir(RP_PHOTO_PARCELLE, 0777, true);
$dest = RP_PHOTO_PARCELLE . $name;

当我在服务器上制作rights时,问题是directory的{​​{1}}只是 755 !那么为什么指南不是正确的777?

3 个答案:

答案 0 :(得分:1)

你应该使用chmod

// more code
chmod($path, 0755);

or 
chmod($path, 0777);

答案 1 :(得分:1)

创建目录后尝试使用chmod

所以你的代码应该是这样的

    $sFileName = 'test.csv';
    header('Content-Disposition: attachement; filename="' . $sFileName . '";');
    header("Content-Type:application/csv;charset=UTF-8");
    $output = fopen('php://output', 'w');

注意:提供0777访问文件夹是个坏主意。它涉及高安全风险。对于涉及的风险,请参阅herehere如果您了解风险并且仍然需要提供0777访问权限,请尽量避免使用

答案 2 :(得分:0)

还必须为此处理umask进程:

umask(0);
mkdir(RP_PHOTO_PARCELLE, 0777, true);

但正如评论中所提到的:这是不好的做法。应尽可能避免这种许可模式。