PHP fwrite()无法写入子目录

时间:2014-05-21 08:36:50

标签: php apache ubuntu

我的网站位于/var/www/html/hs/,我的 update.php 。它应该写给/var/www/html/hs/json/myFile.json,但它不是。当我尝试写入 update.php 的同一目录时,似乎没有问题。

update.php 文件编写代码部分:

$fileJSON = fopen("json/$fileName.json", "w");
fwrite($fileJSON, $JSONE);
fclose($fileJSON);

我(相信)已经通过sudo chown -R myName /var/www/给了自己必要的权限。

  

系统:Linux ubuntu 3.13.0-24-generic#47-Ubuntu SMP Fri 5月2日   UTC时间23:30:00 x86_64

     

PHP Version 5.5.9-1ubuntu4

     

Apache Version Apache / 2.4.7(Ubuntu)

2 个答案:

答案 0 :(得分:1)

如果json/目录不存在,则需要创建它:

if (!is_dir('json'))
    mkdir('json');

答案 1 :(得分:0)

我认为您没有必要的权限。检查你的error_log对此有何看法!

您不应该chown使用您自己的用户名,而是使用运行Apache的用户名。 (使用ps -aux | grep httpd查看它是哪个用户。一旦拥有该目录,如果您还没有root,则该目录可能无法访问。

您可以做的另一件事是chmod 您要写入777的目录。