gpt4 book ai didi

PHP feof($file) 在空文件上返回 false

转载 作者:行者123 更新时间:2023-12-05 02:07:59 25 4
gpt4 key购买 nike

有php代码:

#!/usr/bin/php
<?php
if ($file = fopen("file.txt", "r")) {
while(!feof($file)) {
$line = fgets($file);
echo "----" , $line , "----";
}
fclose($file);
}
?>

和空文件“file.txt”

[root@localhost]# ls -l  file.txt 
-rw-r--r-- 1 root root 0 Апр 21 10:14 file.txt
[root@localhost]# file file.txt
file.txt: empty

为什么我得到? feof 在第一个循环中应该是真的还是我错了?

[root@localhost ]# php -f  test2.php
--------

[root@localhost ]#

最佳答案

是的,那是因为文件已经是空的,但是 PHP 在执行 fgets() 方法之前并不知道。

为了避免 PHP 读取第一个空行,您必须检查 fgets 不是 false。要实现这一点,应该做类似的事情:

if ($file = fopen("file.txt", "r")) {
while (($line = fgets($file)) !== false) {
echo "----" , $line , "----";
}
fclose($file);
}

关于PHP feof($file) 在空文件上返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61338161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com