即使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
答案 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');