Dalam artikel sebelum ini, kami memperkenalkan kaedah membaca keseluruhan fail pada satu masa dan mendapatkan semua data Jika anda berminat, anda boleh klik pada pautan untuk melihat "Bagaimana untuk mendapatkan semua data fail pada satu masa dalam operasi fail PHP 》. Hari ini kami akan memperkenalkan kaedah lain untuk membaca keseluruhan fail pada satu masa Anda boleh merujuknya jika perlu.
Kaedah yang saya akan perkenalkan kepada anda hari ini bukan sahaja boleh membaca keseluruhan fail pada satu masa, tetapi juga menyimpan kandungan fail yang dibaca ke dalam rentetan Bukankah ia menakjubkan? Ini memerlukan penggunaan fungsi terbina dalam PHP file_get_contents().
Mari kita ambil fail "test.txt" sebagai contoh Kandungan dalam fail ialah:
Mari kita lihat dahulu cara menggunakan. fungsi file_get_contents() Baca fail dan simpan kandungan ke dalam rentetan.
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filestr = file_get_contents($file); if($filestr){ echo $filestr; }else{ echo '读取失败!'; } ?>
Hasil keluaran:
Ia boleh dilihat bahawa tidak perlu membuka atau menutup operasi fail, gunakan " file_get_contents($file)
" kenyataan secara langsung Anda boleh membaca keseluruhan fail sekali gus, yang hampir sama dengan fungsi readfile() yang diperkenalkan sebelum ini, tetapi ia masih berbeza: fungsi file_get_contents() akan menyimpan data baca dalam rentetan, dan readfile () fungsi disimpan dalam penimbal keluaran.
Oleh itu, fungsi readfile() boleh mengeluarkan tanpa memerlukan penyataan output seperti gema dan cetakan, hanya "readfile($file);
" manakala fungsi file_get_contents() memerlukan penggunaan penyataan output untuk mengeluarkan bacaan kandungan, " echo file_get_contents($file)
".
Mari kita lihat lebih dekat penggunaan fungsi file_get_contents() :
file_get_contents($filename,$include_path,$context,$offset,$max_length)
Fungsi ini hanya mempunyai satu parameter yang diperlukan $filename
(fail yang akan dibaca boleh menjadi fail nama atau laluan fail), tetapi terdapat 4 parameter yang ditinggalkan: $include_path
(nilai lalai SALAH), $context
(persekitaran pemegang fail, nilai boleh NULL), $offset
(kedudukan untuk mula membaca), $max_length ( nombor daripada bait dibaca).
Antaranya, parameter $offset
tidak boleh digunakan untuk fail jauh jika parameter $max_length
ditinggalkan, keseluruhan kandungan fail akan dibaca secara lalai seperti dalam contoh di atas.
Mari kita lihat pada parameter $offset
dan $max_length
.
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filestr1 = file_get_contents($file,FALSE,NULL,3); echo $filestr1; $filestr2 = file_get_contents($file,FALSE,NULL,0,15); echo "<br>".$filestr2; ?>
Hasil keluaran:
Dapat dilihat bahawa parameter $max_length
ditetapkan kepada 15, tetapi hanya 7 aksara yang diperolehi. Mengapa ini?
Itu kerana: dalam fungsi file_get_contents(), aksara Cina yang dikodkan UTF-8 menduduki tiga aksara panjangnya. Dan jika panjang pemerolehan yang ditetapkan tidak mencukupi, aksara Cina yang tidak dapat diperoleh akan dipaparkan sebagai simbol ?
.
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filestr1 = file_get_contents($file,FALSE,NULL,6); echo $filestr1; $filestr2 = file_get_contents($file,FALSE,NULL,0,16); echo "<br>".$filestr2; $filestr3 = file_get_contents($file,FALSE,NULL,0,18); echo "<br>".$filestr3; ?>
Hasil keluaran:
Itu sahaja jika anda ingin tahu perkara lain, anda boleh klik ini. → →tutorial video php
Akhir sekali, saya mengesyorkan anda membaca kursus klasik "Pemprosesan Rentetan PHP (Edisi Sutra Jantung Gadis Jade) ", ianya percuma~ datang dan belajar!
Atas ialah kandungan terperinci Bagaimana untuk menyimpan semua data fail ke dalam rentetan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!