我写了这段代码:
if (file_exists("testfile.rtf")) echo "file exists.";
else echo "file doesn't exist.";
$fh = fopen("testfile.rtf", 'w') or die("impossible to open the file");
$text = <<< _END
Hi buddies,
I write for the first time
in a PHP file!
_END;
fwrite($fh, $text) or die("Impossible to write in the file");
fclose($fh);
echo ("writing in the file 'testfile.rtf' succeed.");
但是,当我运行它时,它说:
fopen(testfile.rtf):无法打开流:第64行/Applications/XAMPP/xamppfiles/htdocs/test/test1.php中的权限被拒绝 无法打开文件
我在我的MAC上使用XAMPP在本地服务器上工作。
我找到了几个主题,其中有些人遇到了同样的问题,并使用名为“chmod 777”的东西解决了它,但我不知道这意味着什么,在哪里写这个等等。
答案 0 :(得分:7)
您看到的错误只是意味着您的php脚本无权打开 testfile.rtf 进行编写。
不&#34; chmod 777&#34;在您获得权限问题的任何时候,这可能会在以后引入安全问题!相反 - 为正确的用户提供正确的权限。
在这种情况下:
由于您正在运行XAMPP,因此您需要确保您的Web服务器获得您尝试在其中创建新文件和/或编辑现有文件的特定路径的写入权限。
对于OSX和apache,我相信网络服务器的用户名为&#34; _www&#34;。
这是一个小例子(您可能需要根据需要进行更改):
sudo chown -R _www:_www /path/to/folder
上面的示例将为 / path / to / folder 以及其中的所有文件提供_www(webserver)所有权。
另外:在执行任何基于命令行的管理之前,您可能需要阅读一些关于unix命令的信息,例如 chown , chmod < / EM>等。
https://www.techonthenet.com/linux/commands/chown.php https://www.techonthenet.com/linux/commands/chmod.php
希望它有所帮助!