我的问题不在于文件夹是否已被写入,而是它正在编写的权限。这是我使用写文件的代码:
// check if the file/folder exists
$targetPath = 'files/docmoga/';
if(!file_exists($targetPath)){
$oldmask = umask(0);
mkdir($targetPath, '0777', true);
umask($oldmask);
}
move_uploaded_file($tempFile, $targetFile);
由于权限,它在最后一行失败了。以下是写入文件夹的权限:
dr----x--t 2 apache apache 4096 May 4 09:17 docmoga
导致该文件夹的权限写入错误可能会发生什么?如果它有助于我使用laravel作为一个我不知道任何意义的框架。
答案 0 :(得分:2)
您是否检查过您的脚本运行的用户?
在脚本中运行SharedPreference
并查看输出。它应该是exec('whoami')
或具有相应权限的用户来创建文件夹。
还尝试使用文字八进制数apache
与字符串版本0777
。取自https://stackoverflow.com/a/2251293/1133306