PHP 中的权限被拒绝
Permission denied in PHP
我的脚本为用户上传的照片生成了一个目录,但生成目录的权限显示为 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。
暂时将您的 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');
}
我的脚本为用户上传的照片生成了一个目录,但生成目录的权限显示为 r----x--t
,即使我在 php
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。
暂时将您的 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');
}