Rumah > pembangunan bahagian belakang > tutorial php > Petua Pantas: Cara Membaca Fail Tempatan Dengan PHP

Petua Pantas: Cara Membaca Fail Tempatan Dengan PHP

William Shakespeare
Lepaskan: 2025-02-08 13:35:11
asal
502 orang telah melayarinya

Quick Tip: How To Read a Local File with PHP

PHP menyediakan tiga fungsi asli untuk operasi fail tempatan:

, 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()

kita akan mula memahami fungsi fungsi -fungsi ini dan kemudian melihat contoh kerja mereka.

dan 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()

berhati -hati apabila menggunakan

, kerana array ia kembali akan dipisahkan oleh garis baru, tetapi setiap elemen masih akan dilampirkan dengan newline yang ditamatkan. file()

Fungsi berfungsi dengan berbeza. Ia akan membuka deskriptor fail yang bertindak sebagai aliran untuk membaca atau menulis ke fail. fopen()

Manual PHP menerangkan ini:

fopen()

Dalam bentuk yang paling mudah, aliran adalah objek sumber yang mempamerkan tingkah laku yang boleh ditembusi. Iaitu, ia boleh dibaca atau ditulis daripadanya secara linear, dan mungkin mungkin untuk melompat ke mana -mana di dalam aliran menggunakan

.

Cukup meletakkan, memanggil fseek() tidak akan melakukan apa -apa, ia hanya akan membuka aliran.

Apabila anda membuka aliran dan mempunyai pemegang fail, anda boleh menggunakan fungsi lain seperti

dan fopen() untuk memanipulasi fail. Setelah selesai, anda boleh menggunakan

untuk menutup aliran.

fread() Contoh fwrite() fclose() Lihat contoh berikut:

Fungsi di atas akan memberi anda lebih banyak kawalan berbutir ke atas fail, tetapi ia jauh lebih rendah daripada fungsi

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);
Salin selepas log masuk

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');
Salin selepas log masuk

Jika kita hanya memerlukan sebahagian daripada fail, kita boleh melakukan ini: file.txt $file_contents

Ini akan dibaca

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);
Salin selepas log masuk

FAQ untuk membaca fail tempatan dalam php

Apakah perbezaan antara

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.

Bagaimana menangani kesilapan semasa membaca fail dalam php?

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.

Bolehkah saya membaca fail dari pelayan jauh di php?

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.

Bagaimana membaca baris tertentu fail dalam PHP?

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.

bagaimana membaca fail dalam mod binari dalam php?

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.

bagaimana membaca fail CSV dalam php?

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.

bagaimana untuk membalikkan fail dalam php?

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().

bagaimana membaca fail dalam php tanpa menguncinya?

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.

Bagaimana untuk membaca secara cekap fail besar dalam PHP?

3 Kaedah ini lebih banyak menjimatkan ingatan daripada membaca keseluruhan fail ke dalam rentetan atau array, kerana ia hanya menjimatkan garis semasa dalam ingatan.

fopen() Bagaimana membaca fail dalam php dan kandungan output kepada penyemak imbas? fgets()

Untuk membaca fail dalam php dan kandungan output ke penyemak imbas, anda boleh menggunakan fungsi

. Fungsi ini membaca fail dan menulisnya ke penampan output, dan kemudian menghantarnya ke penyemak imbas. Ini adalah cara yang mudah untuk menyediakan fail (seperti imej atau fail yang boleh dimuat turun) kepada pengguna.

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!

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