Rumah >pembangunan bahagian belakang >tutorial php >PHP `feof()`: Mengapa My While Loop Tidak Mencetak Keseluruhan Fail?

PHP `feof()`: Mengapa My While Loop Tidak Mencetak Keseluruhan Fail?

DDD
DDDasal
2024-12-29 00:46:13749semak imbas

PHP `feof()`: Why Isn't My While Loop Printing the Entire File?

PHP: While Loop (feof()) Not Outputting Everything

Dalam isu ini, pengguna cuba membaca dan mencetak kandungan fail teks menggunakan gelung sementara dan fungsi feof(). Walau bagaimanapun, mereka menghadapi output yang tidak lengkap, terutamanya pada penghujung fail.

Isu ini timbul daripada peletakan ujian feof(). Dalam kod asal, feof() menyemak penghujung fail sebelum membaca baris terakhir, menghasilkan baris terakhir yang dipotong.

Untuk menyelesaikan masalah ini, kod yang disediakan dalam jawapan menulis semula keadaan gelung untuk menguji feof () sebagai sebahagian daripada proses membaca:

while (($buffer = fgets($handle, 4096)) !== false) {

Ini memastikan gelung berterusan sehingga penghujung fail dicapai dan semua baris dibaca dan dicetak.

Selain itu, jawapannya menekankan kepentingan pengendalian ralat dengan mengalih keluar pengendali penindasan @ daripada fopen() dan termasuk pengendalian ralat untuk menangkap sebarang ralat pembukaan fail.

Dengan pengubahsuaian ini, gelung membaca dan memaparkan keseluruhan kandungan fail teks dengan betul, termasuk baris terakhir.

Atas ialah kandungan terperinci PHP `feof()`: Mengapa My While Loop Tidak Mencetak Keseluruhan Fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn