Sebagai pemaju PHP, pemprosesan fail adalah tindakan yang sering anda lakukan.
Anda boleh menggunakan fungsi pemprosesan fail PHP untuk memanipulasi fail dalam pelbagai cara. Fungsi -fungsi ini boleh digunakan untuk membina pelbagai fungsi dalam aplikasi anda, dari pembalakan ralat tersuai untuk menyimpan fail cache. Contoh alat utiliti yang boleh anda bina dengan fungsi ini termasuk:
$filename = 'https://www.gutenberg.org/cache/epub/1228/pg1228.txt'; $book_content = file_get_contents($filename); file_put_contents('Biology/Evolution/On the Origin of Species [Charles Darwin].txt', $book_content, LOCK_EX);
Sekarang mari kita kembali ke fail tempatan. Katakan anda mempunyai banyak fail teks dan anda ingin menganalisis kandungan mereka untuk melihat maklumat seperti kata -kata yang paling biasa. Ini boleh dilaksanakan dengan mudah menggunakan banyak fungsi PHP terbina dalam.
$filename = 'On the Origin of Species [Charles Darwin].txt'; $book_content = file_get_contents($filename); $book_content_lowercase = strtolower($book_content); $individual_words = explode(' ', $book_content_lowercase); echo "该书大约有 " . count($individual_words) . " 个单词:" . substr($filename, 0, -4) . "。\n"; $word_frequency = array_count_values($individual_words); echo "该书中共有 " . count($word_frequency) . " 个独特的单词。\n"; echo "单词'Elephant'在书中出现了 " . $word_frequency["elephant"] . " 次。\n"; echo "单词'Ant'在书中出现了 " . $word_frequency["ant"] . " 次。\n"; if (isset($word_frequency["evolution"])) { echo "单词'Evolution'在书中出现了 " . $word_frequency["evolution"] . " 次。\n"; } else { echo "单词'Evolution'在书中一次也没有出现。\n"; } arsort($word_frequency); echo "该书中使用最多的单词是:'" . key($word_frequency) . "'。\n"; /* 以上所有代码的输出 该书大约有 147520 个单词:On the Origin of Species [Charles Darwin]。 该书中共有 22758 个独特的单词。 单词'Elephant'在书中出现了 3 次。 单词'Ant'在书中出现了 6 次。 单词'Evolution'在书中一次也没有出现。 该书中使用最多的单词是:'the'。 */
dan fread
untuk menukar teks ke dalam array. fread()
Fungsi
. fopen
Parameter pertama fungsi
digunakan untuk mendapatkan penunjuk sistem fail. fopen
Contoh menggunakan fungsi
fopen
fungsi fwrite
Fungsi fwrite
berfungsi. fwrite
$file_handle = fopen('/home/tutsplus/files/tmp.txt', 'a+'); fwrite($file_handle, 'Tuts+ is a great online resource to learn skills you want!'); fwrite($file_handle, "\n"); fwrite($file_handle, 'Visit tutsplus.com to know more!'); fclose($file_handle);
/home/tusplus/files/tmp.txt a
fail dalam mod, yang membuka fail untuk membaca dan menulis, dan penunjuk fail berada di akhir fail. Oleh itu, kandungan kami akan dilampirkan ke akhir fail, selepas sebarang kandungan lain. Seterusnya, kami menggunakan fungsi untuk menulis rentetan. fwrite
untuk menulis satu siri rentetan beberapa kali sebelum menutup fail. fwrite
untuk menutup fail. Ia hanya menerima satu parameter, penunjuk fail yang anda mahu tutup. Sebaik sahaja operasi fail selesai, ia sentiasa disyorkan untuk menggunakan fungsi fclose
untuk menutup fail. fclose
Terdapat banyak cara lain untuk membaca dan menulis data fail dalam PHP. Walau bagaimanapun, file_get_contents()
dan file_put_contents()
akan memenuhi hampir semua keperluan asas anda tanpa menambah kerumitan yang tidak perlu.
anda hanya dapat menghadapi masalah dengan file_get_contents()
apabila fail yang anda baca sangat besar (mis., Saiz adalah 2GB atau lebih besar). Ini kerana file_get_contents()
akan memuatkan keseluruhan fail ke dalam memori dengan serta -merta, dan untuk fail yang besar, ia mungkin kehabisan ingatan. Dalam kes ini, anda perlu bergantung pada fungsi seperti fgets()
dan fread()
untuk membaca sebahagian kecil fail sekaligus.
Atas ialah kandungan terperinci Tulis ke fail dan baca fail dengan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!