Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux-PHPMKDIR创建目录,但没有写权限?_Php_Linux - Fatal编程技术网

Linux-PHPMKDIR创建目录,但没有写权限?

Linux-PHPMKDIR创建目录,但没有写权限?,php,linux,Php,Linux,我通过命令行运行一个php文件,其中包含以下代码: if(!is_dir($path)) { mkdir($path, 0666, true); } 此代码未引发任何错误,文件夹按预期创建 如果我事后这样做: file_put_contents("Some data", $path . "filename.txt"); 我得到一个“无法打开流:权限被拒绝”异常 即使我做了一件事 chmod($path, 0777); 在PHP代码中输入mkdir之后,我得到了错误 如果我手动创建目

我通过命令行运行一个php文件,其中包含以下代码:

if(!is_dir($path)) {
    mkdir($path, 0666, true);
}
此代码未引发任何错误,文件夹按预期创建

如果我事后这样做:

file_put_contents("Some data", $path . "filename.txt");
我得到一个“无法打开流:权限被拒绝”异常

即使我做了一件事

chmod($path, 0777);
在PHP代码中输入mkdir之后,我得到了错误


如果我手动创建目录并通过linux命令将其设置为777,则everythig工作正常。为什么会这样?

您可以在创建目录时设置权限

mkdir($path,0777,true)

此外,还需要更改文件内容的语法


文件内容($path./filename.txt”,“一些数据”)

你已经得到了答案,现在就去问他们。我会这么做的!我将权限设置为0666,这足以进行写入。将所有设置为777是一种糟糕的做法,在我的情况下没有必要。设置777是个坏主意,但要做到这一点,你至少需要设置这些权限0744@leftjustified,如果不授予目录执行权限,则无法在其中执行任何操作(如创建文件)。“只写”允许您删除文件,因为您不需要访问目录中的文件,但不需要创建文件,因为您总是获得文件描述符,而您无法获得它,因为您没有访问权限。