提问人:Katsu 提问时间:8/16/2015 最后编辑:Dan LoweKatsu 更新时间:1/25/2016 访问量:6866
警告:feof() 期望参数 1 是资源,在第 62 行的 /volume1/web/comment.php 中给出的布尔值
Warning: feof() expects parameter 1 to be resource, boolean given in /volume1/web/comment.php on line 62
问:
我才刚刚开始在 youtube 和其他网站的帮助下学习代码,而且我已经遇到了一个问题。这是我的代码:
<form action="" method="post" id="c">
<label> Name: <br><input type="text" name="name" size="36"></label><br></br>
<label> Message: <br><textarea cols="35" rows="5" name="mes"></textarea></label><br></br>
<input type="submit" name="submit" value="Submit" class="texty" >
</form>
<?php
$post = $_POST["post"];
$name = $_POST["name"];
$text = $_POST["mes"];
if ($post) {
#WRITE DOWN COMMENTS#
$write = fopen("c.txt", "a+");
fwrite($write, "<u><b> $name</b></u><br>$text<br></br>");
fclose($write);
#DISPLAY COMMENTS#
$read = fopen("c.txt", "r+t");
echo "All comments:<br>";
while (!feof($read)) { #this line does the error#
echo fread($read, 1024);
}
fclose($read);
}
else{
#DISPLAY COMMENTS#
$read = fopen("c.txt", "r+t");
echo "All comments:<br>";
while (!feof($read)) {
echo fread($read, 1024);
}
fclose($read);
}
?>
所以我有 2 个文件,一个是您输入评论并发布它,另一个是您输入的内容粘贴然后在页面上回显的 .txt 文件。 我认为文件的权限可能有问题,因为如果我只把它放到“r”,那么它不会给我错误,但它不会保存我尝试发布的内容...... 感谢您的阅读和回复。
答:
1赞
Dan Lowe
8/16/2015
#1
fopen
如果无法打开文件,将返回一个布尔值 ()。在尝试将其传递给 之前,您应该检查它是否为 false。然后弄清楚为什么你无法读取文件。FALSE
$read
feof
if ($read) {
...
由于权限的原因,或者找不到文件本身,您的文件可能无法读取。你指的是 ,但它和 PHP 在同一个目录中吗?您可以找出 PHP 所在的目录。c.txt
getcwd
echo getcwd()
此外,表单处理程序将仅在具有值时才输入写入分支,但该名称不会在表单中使用(至少在所示示例中未使用)。$_POST['post']
评论
0赞
Katsu
8/16/2015
我已将所有文件权限设置为 777,因此不可能是这样,并且不知道如何检查它是否为假。我只是按照教程进行操作,在弹出错误后,确保代码相同。你可以在这里看到我在做什么: www.killthemall.co/test.php 我相信,一旦您在文本框中输入某些内容,帖子就会有一个值。如果我错了,请纠正我。
0赞
Dan Lowe
8/16/2015
我编辑了我的答案以解决文件模式和文件所在的位置。至于价值,我不知道。您的示例中没有命名的表单元素,并且您的页面会永久加载,直到我停止它,并且我永远无法到达浏览器向我显示源代码的位置。post
post
0赞
Katsu
8/16/2015
谢谢你的解释。主要问题中已经给出了来源。这就是全部:/所以,是的,我不知道为什么这个页面会一直这样做。也许停止刷新并检查来源。我现在要检查$read是否属实。
0赞
Dan Lowe
8/16/2015
如果您试图确定表单是否已发布,一个常见的习惯是检查提交按钮,例如if ($_POST['submit']) {
0赞
Katsu
9/10/2015
#2
谢谢丹,问题出在提交命令中。一个是提交,另一个是帖子,所以它不明白我想做什么。 PS:对不起,回复;_;晚了
评论