我有一个问题。我试图使用PHP创建文件夹,但出现以下错误。
Warning: mkdir(): Permission denied in /var/www/oditek.in/universityprod/template/insert.php on line 30
我在下面解释我的代码。
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$DOCUMENT_UPLOAD_URL='/var/www/oditek.in/public_html/universityprod/';
$seladmcode='BSC_2018-21_NPR';
$application_no='BSC_2018-21_NPR2018';
$uploaddir = $DOCUMENT_UPLOAD_URL."".$seladmcode."/".$application_no;
if(!is_dir($uploaddir))
mkdir($uploaddir,0777,true);
?>
收到此错误消息后,我分配了权限sudo chmod -R 777 /var/www/oditek.in/public_html/universityprod/
,但仍然无法创建该文件夹。这里的权限已经存在,但仍无法创建文件夹。我需要在universityprod
内创建文件夹。
答案 0 :(得分:0)
确保www-data或www(用户)在以下文件夹中具有特权
/var/www/oditek.in/public_html/universityprod/
答案 1 :(得分:0)
尝试使用umask
为要创建的目录设置默认权限,
<?php
$old = umask(0);
mkdir($uploaddir,0777,true);
umask($old);
?>
最好将目录权限设置为755,而不是777
参考:http://php.net/manual/en/function.chmod.php和http://php.net/manual/en/function.umask.php
请不要忘记阅读上述页面中的Note
。