Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Saya Boleh Membaca Fail Terlalu Besar dalam PHP dengan Cekap?
Membaca Fail Terlalu Besar dalam PHP
Walaupun menghadapi kesukaran membaca fail bersaiz sederhana (6 MB) menggunakan fopen PHP, tetapan lalai sepatutnya mencukupi . Adalah penting untuk menyiasat kemungkinan ralat yang kurang jelas sebelum menyelidiki penyelesaian khusus.
Pertimbangkan Masa Tamat dan Had Memori:
Periksa konfigurasi tamat masa skrip anda. Melebihi tempoh lalai (selalunya sekitar 30 saat) boleh mengakibatkan gangguan semasa I/O fail. Selain itu, sahkan penggunaan memori skrip anda untuk menolak sebarang amaran yang menunjukkan kekangan memori. Membaca fail besar ke dalam tatasusunan mungkin memerlukan peningkatan peruntukan memori.
Optimumkan dengan fgets:
Jika diagnostik sebelumnya tidak menghasilkan petunjuk, terokai kemungkinan membaca fail berturut-turut -baris menggunakan fungsi fgets. Pendekatan ini menimbulkan jejak memori yang lebih kecil kerana ia memproses data secara berperingkat:
$handle = fopen("/tmp/uploadfile.txt", "r") or die("Couldn't get handle"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle, 4096); // Process buffer here.. } fclose($handle); }
Menyelesaikan Masalah Ralat Tambahan:
Mesej ralat "PHP nampaknya tidak membuang ralat, ia hanya mengembalikan palsu" boleh menandakan pelbagai isu:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Fail Terlalu Besar dalam PHP dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!