我通过命令行运行一个php文件,里面有以下代码:
if(!is_dir($path)) {
mkdir($path, 0666, true);
}
此代码不会引发任何错误,并且会按预期创建文件夹。
如果我之后这样做:
file_put_contents("Some data", $path . "filename.txt");
我收到"无法打开流:权限被拒绝"异常。
即使我做
chmod($path, 0777);
在 PHP 代码中的 mkdir 之后,我收到错误。
如果我手动创建目录并通过 linux 命令将其设置为 777,则每个目录都可以正常工作。为什么呢?
您可以在创建目录时设置权限
mkdir($path, 0777, true)
您还需要将file_put_contents的语法更改为
file_put_contents($path . "/filename.txt", "Some Data");