PHP function.fopen无法打开流:权限被拒绝

时间:2015-07-28 19:21:29

标签: php fopen

我在ubuntu 12上运行apache并且我无法使用fopen函数打开特定文件。我可以在同一个php文件中打开其他文件。 这是错误:

  

警告:fopen(file.txt)[function.fopen]:无法打开流:第10行的/.../.../.../.../....php中的权限被拒绝
  警告:fwrite()要求参数1为资源,在第11行的/.../.../.../.../....php中给出布尔值   警告:fclose()要求参数1为资源,在第12行的/.../.../.../.../....php中给出布尔值   警告:无法修改标题信息 - 已在(/.../.../.../.../ ...... / ...... / ....第20行的PHP

我的代码:

<?php
    session_start();
    $username = $_SESSION['username'];
    $amount = $_SESSION['amount'];
    $message = $_SESSION['message'];
    $send = "$username donated $amount";
    $Vdata = file_get_contents('donation.txt');
    $cumoney = file_get_contents('money.txt');
    $newmoney = $amount + $cumoney;
    $handle4 = fopen("money.txt", "w");
    fwrite($handle4, $newmoney);
    fclose($handle4);
    if($Vdata == $send){
        $handle = fopen("donation.txt", "w");
        fwrite($handle, $username ." donated  ". $amount);
        fclose($handle);
        $handle2 = fopen("donationmsg.txt", "w");
        fwrite($handle2, $message);
        fclose($handle2);
        header ("Location: ...");
    }else{
        $handle = fopen("donation.txt", "w");
        fwrite($handle, $username ." donated ". $amount);
        fclose($handle);
        $handle2 = fopen("donationmsg.txt", "w");
        fwrite($handle2, $message);
        fclose($handle2);
        header ("Location: ...");
    }
?>

2 个答案:

答案 0 :(得分:1)

显然,PHP没有对该文件的写访问权。 这是在Ubuntu PHP上运行与Apache相同的用户,因此请确保该文件可由www-data组写入。

user@host:/path/to/your/file# chgrp www-data yourfile.txt
user@host:/path/to/your/file# chmod g+w yourfile.txt

答案 1 :(得分:0)

这看起来像权限问题。您应确保您和您的脚本具有访问该文件的权限以及包含该文件的目录。