使用mkdir()在laravel中创建可写目录

时间:2015-05-04 14:19:53

标签: php mkdir

我的问题不在于文件夹是否已被写入,而是它正在编写的权限。这是我使用写文件的代码:

// 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作为一个我不知道任何意义的框架。

1 个答案:

答案 0 :(得分:2)

您是否检查过您的脚本运行的用户?

在脚本中运行SharedPreference并查看输出。它应该是exec('whoami')或具有相应权限的用户来创建文件夹。

还尝试使用文字八进制数apache与字符串版本0777。取自https://stackoverflow.com/a/2251293/1133306