Pengendalian fail PHP
fopen() digunakan untuk membuka fail dalam PHP.
Buka fail
Tiada fungsi penciptaan fail yang berasingan dalam PHP Fungsi fopen() digunakan untuk mencipta dan membuka fail. Apabila fail dibuka menggunakan fungsi fopen(), jika fail tidak wujud, percubaan dibuat untuk mencipta fail dan sumber dikembalikan. Jika buka gagal, fungsi mengembalikan FALSE.
Sintaks
fopen sumber (rentetan $filename, string mod)
Parameter pertama fungsi ini mengandungi nama fail yang akan dibuka , parameter kedua menentukan mod yang hendak digunakan untuk membuka fail:
<html> <body> <?php $file=fopen("welcome.txt","r"); ?> </body> </html>
Fail boleh dibuka dalam mod berikut:
Mod
r Baca sahaja. Mulakan pada permulaan fail.
<<> R+ baca/tulis. Mulakan pada permulaan fail. . Membuka dan mengosongkan kandungan fail jika fail itu tidak wujud, mencipta fail baharu. Membuka dan mengosongkan kandungan fail jika fail itu tidak wujud, mencipta fail baharu. . Membuka dan menulis ke hujung fail, atau mencipta fail baharu jika ia tidak wujud. . Kekalkan kandungan fail dengan menulis ke hujung fail. Buat fail baharu. Jika fail sudah wujud, mengembalikan FALSE dan ralat. . Buat fail baharu. Jika fail sudah wujud, mengembalikan FALSE dan ralat.
Nota: Jika fungsi fopen() tidak boleh membuka fail yang ditentukan, ia mengembalikan 0 (palsu).
Contoh
Jika fungsi fopen() tidak dapat membuka fail yang ditentukan, contoh berikut akan menjana mesej:
<html> <body> <?php $file=fopen("welcome.txt","r") or exit("Unable to open file!"); // 不能打开指定文件的错误信息: Unable to open file ?> </body> </html>
Tutup fail
fclose () Fungsi yang digunakan untuk menutup fail yang dibuka:
<?php $file = fopen("test.txt","r"); //执行一些代码 fclose($file); ?>Kesan hujung fail (EOF) fungsi feof() mengesan sama ada hujung fail (EOF) ) telah dicapai. Fungsi feof() berguna apabila menggelung melalui data yang tidak diketahui panjangnya. Nota: Dalam mod w , a dan x, anda tidak boleh membaca fail yang dibuka!
jika (feof($file)) bergema "Tamat fail";
Baca fail baris demi baris
fungsi fgets() digunakan untuk membaca fail baris demi baris daripada fail.
Nota: Selepas memanggil fungsi ini, penuding fail akan beralih ke baris seterusnya.
Sintaks
fget rentetan( pemegang int [, panjang int] )
fgets() membaca baris daripada fail yang ditunjuk oleh pemegang dan mengembalikan rentetan sehingga panjang-1 bait panjang. Berhenti pada aksara baris baharu (termasuk dalam nilai pulangan), EOF, atau selepas panjang-1 bait dibaca. Jika panjang tidak ditentukan, ia lalai kepada 1K, atau 1024 bait.
Contoh
Contoh berikut membaca fail baris demi baris sehingga akhir fail:
<?php $file = fopen("welcome.txt", "r") or exit("无法打开文件!"); // 读取文件每一行,直到文件结尾 while(!feof($file)) { echo fgets($file). "<br>"; } fclose($file); ?>
Membaca aksara fail demi aksara
fungsi fgetc() digunakan untuk membaca aksara fail demi aksara daripada fail.
Nota: Selepas memanggil fungsi ini, penuding fail akan beralih ke aksara seterusnya.
Contoh
Contoh berikut membaca aksara fail demi aksara sehingga akhir fail:
<?php $file=fopen("welcome.txt","r") or exit("无法打开文件!"); while (!feof($file)) { echo fgetc($file); } fclose($file); ?>
Membaca keseluruhan fail
fungsi fread() digunakan untuk membaca fail (selamat untuk fail binari).
Sintaks:
fread rentetan( pemegang int, panjang int )
fread() membaca sehingga bait panjang daripada pemegang penuding fail. Pembacaan fail akan berhenti apabila mana-mana situasi berikut ditemui:
Apabila sehingga bait panjang telah dibaca
Apabila penghujung fail (EOF) dicapai
(untuk aliran rangkaian) apabila paket tersedia
atau (selepas membuka strim ruang pengguna) apabila 8192 bait telah dibaca
Baca 10 daripada fail Bait (termasuk ruang):
<?php $filename = "test.txt"; $fh = fopen($filename, "r"); echo fread($fh, "10"); fclose($fh); ?>
file_get_contents()
Fungsi file_get_contents() digunakan untuk membaca keseluruhan fail menjadi rentetan, Mengembalikan rentetan pada kejayaan, FALSE atas kegagalan.
Sintaks:
rentetan file_get_contents( string nama fail [, int offset [, int maxlen]] )
Perihalan parameter:
Parameter Penerangan
nama fail Nama fail yang akan dibaca
offset Pilihan , Tentukan kedudukan permulaan bacaan, lalai ialah kedudukan permulaan fail
maxlen Pilihan, nyatakan panjang fail baca dalam bait
Contoh:
<?php $filename = 'NoAlike.txt'; $filestring = file_get_contents($filename); echo $filestring; ?>
fwrite()
fwrite() fungsi digunakan untuk menulis rentetan pada fail dan mengembalikan bilangan aksara yang ditulis dengan jayanya, jika tidak ia kembali SALAH.
Sintaks:
int fwrite( pemegang sumber, rentetan rentetan [, panjang int] )
fwrite() menulis kandungan rentetan ke Pemegang penunjuk fail.
Perihalan parameter:
Parameter Penerangan
mengendalikan Penunjuk fail untuk menulis rentetan, biasanya oleh The fungsi fopen() mencipta
data rentetan yang akan ditulis
panjang Pilihan, menentukan bilangan maksimum bait untuk ditulis
Jika panjang parameter pilihan ditentukan, penulisan akan berhenti apabila bait panjang telah ditulis atau rentetan telah ditulis.
Contoh:
<?php // 要写入的文件名字 $filename = 'file.txt'; // 写入的字符 $word = "你好!"; $fh = fopen($filename, "w"); echo fwrite($fh, $word); // 输出:6 fclose($fh); ?>
Laksanakan program contoh Dalam direktori yang sama dengan program, kandungan fail file.txt ialah: Hello!
Dalam contoh di atas, jika parameter panjang digunakan, paling banyak rentetan panjang boleh ditulis:
echo fwrite($fh, $word, 4); : 4
file_put_contents()
file_put_contents() fungsi digunakan untuk meletakkan rentetan Tulis ke fail, dan kembalikan bilangan bait data yang ditulis ke fail jika berjaya, atau SALAH jika gagal.
Sintaks:
int file_put_contents (rentetan nama fail, data rentetan [, bendera int [, konteks sumber]])
Penerangan parameter:
Parameter Penerangan
nama fail Nama fail untuk menulis data kepada
data Data yang akan ditulis. Jenisnya boleh berupa rentetan, tatasusunan (tetapi bukan tatasusunan berbilang dimensi), atau sumber strim
bendera Pilihan, menyatakan cara membuka/menulis fail. Nilai yang mungkin:
FILE_USE_INCLUDE_PATH: Semak laluan terbina dalam untuk salinan nama fail
FILE_APPEND: Tulis data yang dilampirkan pada penghujung fail
LOCK_EX: Kunci fail
konteks Pilihan, Konteks ialah satu set pilihan yang melaluinya atribut teks boleh diubah suai
Contoh:
<?php echo file_put_contents("test.txt", "This is something."); ?>
Jalankan contoh ini, output penyemak imbas :
18