我正在尝试让一个php文件写入到同一文件夹中的文件。这个php文件和它要写入的文件都设置了777的权限(它们在一个Linux服务器上),并且它们所在的文件夹也是如此。但是每当我用'w'或'w+'模式调用fopen()函数时,该函数就会返回false。由于这是我的学校Web服务器,所以我无法获取root访问权限来将文件所有者更改为与apache相同的用户。有人知道问题出在哪里吗?
更新: 作为测试,我正在使用以下代码:
启用错误报告后,现在的输出为:
更新: 作为测试,我正在使用以下代码:
$handle = fopen("test.txt", 'w');
if($handle === FALSE)
echo "\nfailed";
else
echo "\nsuccess";
fclose($handle);
启用错误报告后,现在的输出为:
Warning: fopen(test.txt) [function.fopen]: failed to open stream: Permission denied in /<snip>/public_html/test.php on line 58
failed
Warning: fclose(): supplied argument is not a valid stream resource in /<snip>/public_html/test.php on line 63
以下是我从php网站复制的代码,用于fileperms()函数检查文本文件的权限,并报告-rwxrwxrwx。
相关文件的ls -al输出如下:
ls -al *test*
-rwxrwxrwx 1 mag5 30 1475 Dec 9 00:02 test.php*
-rwxrwxrwx 1 mag5 30 8 Dec 8 14:54 test.txt*
我不确定这是否重要,但我的学校使用一种叫做Andrew文件系统的东西。
ls -l
命令并输出结果也会很有帮助。 - Ewan Todd