我在网络主机上有一个PHP文件,如下所示:
<?php
file_put_contents('test.txt','TEST');
echo 'OK';
?>
但是当我从浏览器执行页面时,不会创建文件test.txt
。为什么不?这是权限问题吗?
答案 0 :(得分:3)
是的,PHP Doc说
如果filename不存在,则创建该文件。否则,将覆盖现有文件,除非设置了FILE_APPEND标志。
只有当你写了对该文件夹的权限时才会这样....尝试
error_reporting(E_ALL);
ini_set("display_errors", "on");
if (! is_writable(__DIR__)) {
trigger_error("I don't have permission");
}
file_put_contents('test.txt', 'TEST');
答案 1 :(得分:1)
为什么不呢?这是权限问题吗?
你应该问自己的问题是你为什么不知道?
代码会产生错误或警告 - 为什么你不知道那是什么?
可能是权限问题 - 权限是什么?
BTWE:将文档根目录中的内容写入将执行PHP的目录是一个巨大的安全漏洞。即如果它是权限问题,那么更改权限是错误解决问题的方法。