【发布时间】:2012-10-16 10:48:56
【问题描述】:
我见过类似的问题,但答案对我没有帮助。我正在使用下面的代码。我已经检查过,正在读取文件,它将在页面上输出 count.txt 中的数字。 $hit_count 确实在增加(我在测试中回应了这一点)。 count.txt 具有权限 777 和 count.txt 与我希望数据出现的页面位于同一目录中。我不知道下一步该做什么。这是非常简单的代码,我已经搜索了几个小时的答案。
<?php
$hit_count = @file_get_contents('count.txt'); // read the hit count from file
echo "Site visits since Jun 30,2012: ";
echo $hit_count; // display the hit count
$hit_count++; // increment the hit count by 1
@file_put_contents('count.txt', $hit_count); // store the new hit count
?>
如果我删除 @ 符号来测试错误,我会得到以下信息:
警告:file_put_contents(count.txt) [function.file-put-contents]:无法打开流:第 220 行的 D:\Hosting\9541237\html\indexTEST.php 中的权限被拒绝
什么权限? count.txt 是 777。
【问题讨论】:
-
不要使用
@来抑制错误;它们的存在是有原因的。相反,编写不会产生错误的代码。 -
count.txt 与您的 .php 文件在同一个文件夹中?
-
警告很明确:你没有写权限。所以,再次检查文件权限(如果它在 Windows 上真的有 777,我会非常惊讶)。
-
文件夹也需要有执行权限,否则无法列出文件夹中的任何文件,所以PHP不知道
count.txt在磁盘上的起始位置。 -
我知道我在公共、全局和私有上都有 rwx 似乎很清楚 - 抱歉,我使用 777 来表示相同的意思。
标签: php permissions file-get-contents