即使is_writable返回true,也无法写入文件

时间:2012-09-14 00:48:29

标签: php file-io permissions fopen

有人对此有任何想法吗?我用file_exists()is_writable()检查文件,两者都返回true。我将目录和文件设置为777也是为了安全,但尝试fwrite()或file_put_contents()都会导致文件无变化

以下是相关代码:

$filePath = dirname( __FILE__ ) . '/' . 'myfile.txt';
file_put_contents($filePath, "waffles are delicious");

2 个答案:

答案 0 :(得分:1)

您已经检查了文件的权限,但也查看了所有权。

我经常看到从原始系统使用uid / gid从档案中解压缩文件的问题。当您上传并解压缩框架,CMS或论坛的zip或tar.gz安装档案而不是等待通过FTP上传所有文件时,通常会出现这种情况。

要更改文件所有者,您需要在shell中执行chown命令,将其更改为您帐户的用户名/组。您可能需要root / su才能执行此操作。

chown -R username:groupname *

-R使其递归并适用于所有子目录中的所有文件。

答案 1 :(得分:0)

尝试删除关闭的php标记,以确保这不是空白问题。