我在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: ...");
}
?>
答案 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)
这看起来像权限问题。您应确保您和您的脚本具有访问该文件的权限以及包含该文件的目录。