我在Ubuntu 14.04上运行PHP 5.5.9。我在写文件时遇到问题。我觉得这必须是文件权限问题,因为我非常确定代码是正确的。我登录的用户有权写入我尝试写入的文件夹,但我不确定localhost是否有。我不确定localhost用户的名称是什么,以便使用chmod
。我尝试使用chmod 777 -R /var/www/html
,但脚本仍然无法写入我的目标文件夹,该文件夹的路径为/var/www/html/Projects/MD_ScrapingTool/files
。这是我的代码:
$file = 'filetest.txt';
if($handle = fopen($file, 'w')) {
$content = "123\n456";
fwrite($handle, $content);
fclose($handle);
} else {
echo "Could not open file for writing.";
}
答案 0 :(得分:17)
www-data
组,我只是将我的用户添加到该组中。
sudo usermod -a -G www-data my_username
然后,我将该文件夹添加到该组。
sudo chgrp -R www-data /var/www
然后,我给了www-data组写入权限。
sudo chmod -R g+w /var/www
这对我有用,没有任何其他问题。谢谢!
答案 1 :(得分:0)
尝试使用open
:
$file = '/html/Projects/MD_ScrapingTool/files/filetest.txt';
如果该文件不存在,fopen
应使用'w'
模式创建文件。
答案 2 :(得分:0)
您可以验证您是否拥有该文件夹的权限' / html / Projects / MD_ScrapingTool / files /'并尝试绝对的路径。