, file()
dan file_get_contents()
. Walaupun perpustakaan lengkap dibina di sekitar fungsi -fungsi ini, mereka masih merupakan kaedah pilihan dengan cepat memanipulasi fail PHP. fopen()
file()
file_get_contents()
dan file()
bekerja dengan sangat sama. Mereka semua membaca keseluruhan fail. Walau bagaimanapun, file_get_contents()
membaca fail ke dalam array, manakala file()
membaca fail ke dalam rentetan. Kedua -dua fungsi adalah selamat binari, bermakna ia boleh digunakan untuk sebarang jenis kandungan fail. file_get_contents()
, kerana array ia kembali akan dipisahkan oleh garis baru, tetapi setiap elemen masih akan dilampirkan dengan newline yang ditamatkan. file()
fopen()
fopen()
.
Apabila anda membuka aliran dan mempunyai pemegang fail, anda boleh menggunakan fungsi lain sepertiCukup meletakkan, memanggil
fseek()
tidak akan melakukan apa -apa, ia hanya akan membuka aliran.
dan fopen()
untuk memanipulasi fail. Setelah selesai, anda boleh menggunakan
fread()
Contoh fwrite()
fclose()
Lihat contoh berikut:
atau
, yang lebih baik seperti yang dinyatakan dalam dokumentasi PHP:<?php $filepath = "/usr/local/sitepoint.txt"; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); fclose($handle);
file()
file_get_contents()
adalah kaedah pilihan untuk membaca kandungan fail ke rentetan. Jika sistem operasi anda menyokongnya, ia akan menggunakan teknologi swap memori untuk meningkatkan prestasi.
file_get_contents()
Ia agak mudah digunakan:
Ini akan membaca kandungan file_get_contents()
ke
<?php $file_contents = file_get_contents('./file.txt');
Jika kita hanya memerlukan sebahagian daripada fail, kita boleh melakukan ini: file.txt
$file_contents
14 aksara bermula dari watak ke -20. Untuk maklumat lanjut mengenai semua parameter
, sila rujuk dokumentasi rasmi.<?php $file_contents = file_get_contents('./file.txt', FALSE, NULL, 20, 14);
file_get_contents()
dan fopen()
dalam php? file_get_contents()
dan fopen()
kedua -duanya digunakan untuk membaca fail dalam PHP, tetapi mereka bekerja sedikit berbeza. file_get_contents()
Baca fail ke dalam rentetan dan kembalikan keseluruhan fail sebagai rentetan tunggal. Fungsi ini mudah dan mudah digunakan, tetapi tidak sesuai untuk fail besar, kerana ia boleh mengambil banyak ingatan. Sebaliknya, fopen()
membuka fail atau URL dan mengembalikan sumber yang boleh digunakan dengan fungsi berkaitan fail lain seperti fgets()
atau fwrite()
. Fungsi ini lebih fleksibel dan cekap untuk fail besar kerana ia membaca garis fail mengikut baris.
PHP menyediakan beberapa cara untuk mengendalikan kesilapan semasa membaca fail. Pendekatan yang biasa adalah menggunakan pengendali "@" sebelum fungsi untuk menindas mesej ralat. Cara lain ialah menggunakan fungsi file_exists()
untuk memeriksa sama ada fail itu wujud sebelum cuba membacanya. Anda juga boleh menggunakan fungsi is_readable()
untuk memeriksa sama ada fail boleh dibaca. Jika ralat berlaku, fungsi ini akan kembali palsu, membolehkan anda mengendalikan ralat dengan anggun.
Ya, PHP membolehkan anda membaca fail dari pelayan jauh menggunakan fungsi file_get_contents()
atau fopen()
(menggunakan URL dan bukannya laluan fail tempatan). Walau bagaimanapun, atas sebab -sebab keselamatan, ciri ini mungkin dilumpuhkan pada beberapa pelayan. Anda boleh menyemak sama ada ia diaktifkan dengan melihat tetapan php.ini
dalam fail allow_url_fopen
.
PHP tidak menyediakan fungsi terbina dalam untuk membaca baris tertentu fail, tetapi anda boleh melakukan ini dengan membaca fail ke dalam array menggunakan fungsi file()
dan kemudian mengakses baris yang diperlukan dengan mengindeksnya. Ingat bahawa indeks bermula pada 0, jadi baris pertama berada di Indeks 0, baris kedua berada di Indeks 1, dan sebagainya.
Untuk membaca fail dalam mod binari dalam PHP, anda boleh menggunakan fungsi fopen()
dengan bendera "B". Ini amat berguna untuk membaca fail binari seperti imej atau executable. Selepas membuka fail, anda boleh membacanya menggunakan fungsi fread()
, yang mengembalikan data sebagai rentetan binari.
PHP menyediakan fungsi fgetcsv()
untuk membaca fail CSV. Fungsi ini mengepam medan format CSV baris yang dibaca dan mengembalikan pelbagai medan baca. Anda boleh menggunakan fungsi ini untuk gelung untuk membaca keseluruhan fail CSV.
PHP tidak menyediakan fungsi terbina dalam untuk membaca fail secara terbalik, tetapi anda boleh melakukan ini dengan membaca fail ke dalam array menggunakan fungsi file()
, dan kemudian membalikkan array menggunakan fungsi array_reverse()
.
Secara lalai, PHP tidak mengunci fail apabila membacanya. Walau bagaimanapun, jika anda perlu memastikan bahawa fail tidak dikunci, anda boleh menggunakan fungsi LOCK_SH
dengan bendera flock()
sebelum membaca fail. Fungsi ini akan cuba memperoleh kunci bersama, yang membolehkan proses lain membaca fail pada masa yang sama.
fopen()
Bagaimana membaca fail dalam php dan kandungan output kepada penyemak imbas? fgets()
Atas ialah kandungan terperinci Petua Pantas: Cara Membaca Fail Tempatan Dengan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!