Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Membaca Fail Besar Baris demi Baris untuk Mengelakkan Keletihan Memori?

Bagaimanakah Saya Boleh Membaca Fail Besar Baris demi Baris untuk Mengelakkan Keletihan Memori?

Susan Sarandon
Lepaskan: 2025-01-03 12:21:09
asal
962 orang telah melayarinya

How Can I Read Large Files Line by Line to Avoid Memory Exhaustion?

Membaca Fail Besar Baris demi Baris tanpa Keletihan Memori

Apabila berurusan dengan fail besar yang melebihi kapasiti memori, adalah penting untuk mengelak daripada memuatkannya sepenuhnya ke dalam ingatan, kerana ini boleh menyebabkan ralat di luar ingatan. Satu pendekatan berkesan untuk memproses fail sedemikian dengan cekap ialah membacanya baris demi baris.

Untuk mencapainya, seseorang boleh memanfaatkan fungsi fgets(). Fungsi ini mendapatkan semula satu baris daripada aliran fail dan mengembalikannya sebagai rentetan. Dengan menggunakan gelung yang memanggil fgets() berulang kali, anda boleh mengulangi keseluruhan fail, memproses setiap baris secara individu:

$handle = fopen("inputfile.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        // Perform necessary actions on the retrieved line.
    }

    fclose($handle);
}
Salin selepas log masuk

Dalam coretan kod ini, percubaan dibuat untuk membuka "inputfile.txt" fail dalam mod baca sahaja. Jika fail boleh dibuka dengan jayanya, gelung dimulakan untuk membaca fail baris demi baris. Pembolehubah baris menyimpan kandungan setiap baris yang dibaca. Gelung ini berterusan sehingga tiada lagi baris untuk dibaca, sampai ke penghujung fail.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Fail Besar Baris demi Baris untuk Mengelakkan Keletihan Memori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan