PHP文件不写入当前目录?

时间:2012-10-22 09:52:56

标签: php apache web web-hosting

我在网络主机上有一个PHP文件,如下所示:

<?php

file_put_contents('test.txt','TEST');    
echo 'OK';

?>

但是当我从浏览器执行页面时,不会创建文件test.txt。为什么不?这是权限问题吗?

2 个答案:

答案 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的目录是一个巨大的安全漏洞。即如果它是权限问题,那么更改权限是错误解决问题的方法。