我在win7上,xampp。这有效:
$path = '../HOME/01.html';
$cnt = file_get_contents($path);
echo $cnt;
这不起作用:
$path = '../HOME/01.html';
$cnt = 'lorem ipsum';
file_put_contents($path, $cnt);
没有错误或警告,只是01.html
没有内容。
答案 0 :(得分:2)
从manual page中可以看到:
此函数返回已写入文件的字节数,如果失败则返回FALSE。
您应该检查以确保返回值不是false
:
if (file_put_contents($path, $cnt) === false) {
// handle error
}
但是,我认为绝大多数情况是缺少写入文件的权限。幸运的是,PHP有一个function to check that:
if (!is_writable($path)) {
// No permission to write
}
因此,将这两部分放在一起,您可以执行以下操作:
if (file_put_contents($path, $cnt) === false) {
if (!is_writable($path)) {
return "You do not have permission to write to $path";
}
return "An unknown error occurred while writing to $path";
}
return "successfully wrote to $path";