我的脚本为用户上传的照片生成目录,但生成的目录的权限显示为r----x--t
,即使我在php中指定了777
if (!is_dir($dir.$new_id)) {
$new_dir = $dir.$new_id.'/';
mkdir($new_dir, 777, true);
$thumbnail_dir = $new_dir.'thumbnail/';
if (!is_dir($thumbnail_dir)) {
mkdir($thumbnail_dir, 777, true);
}
}
我应该提一下,我正在使用运行centos OS的hostinger免费帐户。
答案 0 :(得分:0)
将umask暂时设置为零,umask充当应用程序无法在文件上设置的一组权限。资料来源:http://php.net/manual/en/function.umask.php
$old = umask(0);
if (!is_dir($dir.$new_id)) {
$new_dir = $dir.$new_id.'/';
mkdir($new_dir, 0777, true);
$thumbnail_dir = $new_dir.'thumbnail/';
if (!is_dir($thumbnail_dir)) {
mkdir($thumbnail_dir, 0777, true);
}
}
umask($old);
if ($old != umask()) {
die('An error occurred while changing back the umask');
}