6

即使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

4 回答 4

2

因此,在我的情况下,只需检查文件系统中的可用空间,我在控制台中输入:
df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/da0s1f 4.3G 4.0G -68M 102% /usr

free up space and function file_put_contents 在那之后工作

于 2014-09-02T08:13:23.123 回答
2

检查 is_file( )

也许您正在尝试写入目录,而不是文件 - 也就是说,可以写入但您无法追加的内容。只是一个猜测。

于 2013-12-13T17:18:42.017 回答
1

你必须使用这个:

$file=realpath('data');

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

file_put_contents($file,'fgdfgfg');
于 2014-06-17T12:57:17.877 回答
0

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

chown username:groupname your_file.txt

请记住更改用户名:组名。希望这对你有用!

于 2013-12-13T16:35:50.143 回答