반응형
출처
경고 : feof()는 첫 번째 매개 변수가 리소스가 될 것으로 예상합니다. 하지만은 /volume1/web/comment.php 62행에 boolean 타입입니다.
저는 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"에만 입력하면 오류가 발생하지 않지만 게시하려는 내용이 저장되지 않기 때문입니다. 감사합니다. 읽고 답장해 주셔서 감사합니다.
2 개의 답변 중 1 개의 답변만 추려냄.
fopen
은 파일을 열 수 없는 경우 부울(FALSE
) 타입을 반환합니다. feof
에 전달하기 전에 $read
가 false가 아닌지 확인해야 합니다. 그리고 왜 파일을 읽을 수 없는지 알아 내십시오.
if ($read) {
...
권한으로 인해 또는 파일 자체를 찾을 수 없는 경우 파일을 읽을 수 없습니다. c.txt
를 참조하고 있지만 PHP가 있는 동일한 디렉토리에 있습니까? getcwd
를 사용하여 PHP가 어떤 디렉토리에 있는지 확인할 수 있습니다.
echo getcwd ()
또한 form 핸들러는 $_POST[ 'post']
에 값이 있지만 해당 이름이 form에서 사용되지 않는 경우에만 쓰기 분기문에 들어갑니다 (적어도 표시된 예제에서는 사용되지 않았습니다).
반응형
'도움받은 정보' 카테고리의 다른 글
Heroku 앱에서 타임 존(time zone) 변경하기 (0) | 2021.11.16 |
---|---|
이미 실행중인 프로세스의 출력을 redirecting 하기 (0) | 2021.04.11 |
HH:MM:SS 시간 문자열에 대한 정규식 패턴 (0) | 2021.02.08 |
Stunnel (0) | 2020.12.23 |
부모가 모든 자식 프로세스가 끝날 때까지 기다리는 방법? (0) | 2020.04.13 |