我正在尝试使用函数mkdir()在PHP中创建一个目录,但它会抛出警告mkdir():Permission denied。
我尝试使用以下代码
function makeDir()
{
$foldername = "/home/administrator/Downloads/pdfs/";
$oldmask = umask(0);
mkdir($foldername, 0777);
umask($oldmask);
}
如何创建具有权限的新目录?感谢。
答案 0 :(得分:0)
您的网络服务器运行的是哪个用户?你可以看到,如果你写。
ps aux
看一看。它可能是用户www-data(如果你使用Ubuntu)。
然后你将dir chown给该用户并授予用户对该目录的写权限。
chown www-data /var/www/
和
chmod u+w /var/www/
另一种方法是使用组权限。
chgrp www-data /var/www/
和
chmod g+w /var/www/
假设Web服务器以组www-data运行。
或
您可以按照以下步骤操作:
数字权限可以解决您的问题。
sudo chmod 775 'your directory'
如果你想知道为什么这里只有775你的答案
400 read by owner
040 read by group
004 read by anybody
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody
400
+040
+004
+200
+020
+100
+010
+001
=775
除了任何人写的以外,它都会给予所有许可。