Position actuelle: Accueil> Derniers articles> Pourquoi est-ce que je reçois un problème de lecture supplémentaire après avoir lu la dernière ligne en utilisant FEOF? Comment l'éviter?

Pourquoi est-ce que je reçois un problème de lecture supplémentaire après avoir lu la dernière ligne en utilisant FEOF? Comment l'éviter?

gitbox 2025-09-01
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Ce document est un exemple de la sortie de l&#39;article,utiliser PHP Affichage du script</span></span><span>
</span><span><span class="hljs-comment">// Il peut être passé dans des scénarios réels echo Sortie sur une page Web ou une ligne de commande</span></span><span>
</span><span><span class="hljs-comment">// 文章正文与程序说明之间utiliser水平线分隔</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

<h1>为什么utiliser feof Des problèmes de lecture supplémentaires se produisent après avoir lu la dernière ligne?Comment éviter?</h1>

<p>exister PHP 中utiliser <code></span><span><span class="hljs-title function_ invoke__">feof</span></span><span>()

Dans le code ci-dessus, après avoir lu la dernière ligne, Feof () est toujours faux , il continue donc d'entrer dans la boucle. Feof () ne deviendra vrai qu'après que FGETS () ne parvient pas à lire, ce qui provoque une lecture invalide supplémentaire.

Écriture correcte

Pour éviter des lectures supplémentaires, il est généralement recommandé de placer la fonction de lecture dans des conditions de boucle pour le jugement:

 

这种方式确保了只有在成功读取到内容时才会进入循环体,而不会产生额外的一次空读取。

总结

  • feof() 只有在读取失败后才会返回 true,因此单独用它作为循环条件会产生额外读取。
  • 推荐使用 while (($line = fgets($handle)) !== false) 这样的写法,保证逻辑严谨。
  • 理解文件指针和 EOF 判断机制,有助于避免常见的文件读取陷阱。

掌握了正确用法后,使用 PHP 操作文件时就能更高效、更可靠地处理数据。