Rumah >pembangunan bahagian belakang >tutorial php >PHP `feof()`: Mengapa My While Loop Tidak Mencetak Keseluruhan Fail?
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!