我有一个将文件存储到目录中的脚本。该函数基于当前日期(2018>March>week1,2,3 等)每 7 天创建一个新目录。它工作得非常好,但我需要将目录权限设置为 777,否则我会遇到问题。请参阅下面的代码。
static function initStorageFileDirectory() {
$filepath = 'storage/';
$year = date('Y');
$month = date('F');
$day = date('j');
$week = '';
$mode = 0777;
if (!is_dir($filepath . $year)) {
//create new folder
mkdir($filepath[$mode] . $year);
}
if (!is_dir($filepath . $year . "/" . $month)) {
//create new folder
mkdir($filepath[$mode] . "$year/$month");
}
if ($day > 0 && $day <= 7)
$week = 'week1';
elseif ($day > 7 && $day <= 14)
$week = 'week2';
elseif ($day > 14 && $day <= 21)
$week = 'week3';
elseif ($day > 21 && $day <= 28)
$week = 'week4';
else
$week = 'week5';
if (!is_dir($filepath . $year . "/" . $month . "/" . $week)) {
//create new folder
mkdir($filepath[$mode] . "$year/$month/$week");
}
$filepath = $filepath . $year . "/" . $month . "/" . $week . "/";
return $filepath;
}
如您所见,我设置了 $mode。这可能不是最好的方法:插入 [$mode] 后,它无法完全创建目录,但如果我从 mkdir($filepath.... 中删除那段代码,它会很好用。