PHP is_writable()返回true,但file_put_contents()返回false

时间:2012-06-28 05:57:46

标签: php

即使is_writable()返回true,我也无法写入文件。当然,该文件存在并且显然是可读的。这是代码:

$file = "data";
echo file_get_contents($file)."<br>";
echo is_writable($file) ? "is writable<br>" : "not writable<br>";
if (file_put_contents($file, "ghijkl", FILE_APPEND) === FALSE) echo "failed<br>";
echo file_get_contents($file)."<br>";

这是输出:

abcdef
is writable
failed
abcdef

4 个答案:

答案 0 :(得分:1)

所以只需要检查文件系统中的可用空间 在我的情况下 我输入控制台:
df -h
使用的文件系统大小可用于安装容量 / dev / da0s1f 4.3G 4.0G -68M 102%/ usr

释放空间和函数file_put_contents之后正在工作

答案 1 :(得分:0)

您是否检查了文件的所有权?这可能是原因,尝试运行此代码:

chown username:groupname your_file.txt

请记住更改用户名:groupname。希望它适合你!

答案 2 :(得分:0)

也许你正在尝试写一个目录,而不是一个文件 - 也就是说,这是一个可写但你无法附加的东西。只是一个猜测。

答案 3 :(得分:0)

你必须使用它:

$file=realpath('data');

然后你必须在文件放置内容中使用上面的$file,并且最后一个尝试使用类似(filename.filetype)的文件类型。

file_put_contents($file,'fgdfgfg');