file_put_contents权限被拒绝导致写入文件的错误

时间:2017-05-16 00:12:03

标签: php

我在某个目录中有一个带chmod 777的文本文件:/a/b/example.txt

我在另一个目录中有一个php脚本:/c/d/script.php

在php脚本中调用file_put_contents会产生权限错误。文件example.txt有chmod 777,其所有父目录都有700或775.我相信父母的可执行权限应该足够了。

HTML:

    <form method="POST">Add:<br>
        <input type="text" name="newEx"><br>
        <input type="submit" name="submit" value="Submit">
    </form>

PHP:

    <?php
    // Add NS to example.txt

    if(isset($_POST['newEx'])) {
        $newEx = $_POST['newEx']."\n";
        $ret = file_put_contents('/home/a/b/example.txt', $newEx, FILE_APPEND  | LOCK_EX);
        if ($ret === false) {
            die('Error writing to example.txt');
        } else {
            echo "$ret written to file";
        }

    }

    ?>

这是我收到的错误消息:

  

警告:file_put_contents(/home/a/b/example.txt):无法打开   stream:第103行/home/c/d/script.php中的权限被拒绝错误   写给example.txt

我环顾四周但没找到合适的解决方案。希望能有一些事情可以尝试。

0 个答案:

没有答案