Pengendalian fail PHP
PHP mempunyai pelbagai fungsi untuk mencipta, membaca, memuat naik dan mengedit fail.
Perhatian: Sila kendalikan fail dengan berhati-hati!
Anda mesti berhati-hati apabila memanipulasi fail. Jika anda melakukannya dengan tidak betul, anda boleh menyebabkan kerosakan yang sangat serius.
Kesilapan biasa ialah:
1. Mengedit fail yang salah
2. Mengisi cakera keras dengan data sampah
3. Pemadaman kandungan fail secara tidak sengaja
fungsi fail baca() PHP
fail baca($nama fail)
Fungsi: Lulus laluan fail dan keluarkan fail
Sebagai contoh, terdapat fail bernama file.txt dengan kandungan berikut:
Selamat datang dalam PHP pembelajaran bahasa Cina PHP
Gunakan kod PHP untuk fungsi readfile() untuk membaca fail ini dan menulisnya ke aliran output adalah seperti berikut (jika bacaan berjaya, fungsi readfile() mengembalikan bilangan bait):
Bilangan bait: Bahasa Inggeris Menduduki satu bait, gbk yang dikodkan Cina menduduki 2 utf-8 Bahasa Cina menduduki 3 bait, ruang dan simbol menyumbang 1
<?php echo readfile("D:WWW/item/file.txt"); ?>
Hasil operasi program:
Selamat datang dalam PHP pembelajaran bahasa Cina PHP39
file_get_contentsBuka fail
di atas Hanya buka fail dan ia akan dikeluarkan secara langsung Adakah terdapat sebarang kaedah operasi yang boleh diberikan kepada pembolehubah selepas membuka fail?
PHP pasti menyediakan kaedah ini. Kaedah ini adalah salah satu cara PHP membuka fail dan mengembalikan kandungan Mari kita lihat fungsi:
file_get_contents ( nama fail rentetan)
Fungsi: Masukkan laluan fail atau fail, buka fail dan kembalikan kandungan fail. Kandungan fail ialah rentetan.
Sebagai contoh, terdapat fail file.txt dengan kandungan berikut:
Saya menggunakan file_get_contents open
Gunakan file_get_contents untuk membuka
<?php $fileName="file.txt"; $filestring = file_get_contents($fileName); echo $filestring; ?>
Hasil berjalan program:
Saya menggunakan file_get_contents open
fopen, fread, fclose operasi membaca fail
fopen ($nama fail, mod)
fread ($sumber operasi, panjang baca)
fclose ($sumber operasi)
Melalui fungsi di atas, kami akan menerangkan kaedah operasi biasa jenis sumber:
1. Buka sumber
2. Gunakan fungsi yang berkaitan untuk beroperasi
3. >Fungsi fungsi fopen adalah untuk membuka fail Terdapat dua parameter utama:
1 Laluan untuk membuka fail 2 Jenis sumber memerlukan fungsi lain mengendalikan sumber ini. Semua sumber mesti ditutup apabila ia dibuka.
fungsi Fungsi fungsi adalah untuk membaca sumber fail terbuka. Baca sumber fail dengan panjang yang ditentukan, baca sebahagian daripadanya dan gerakkan sebahagian ke belakang. ke hujung fail.
fcloseFungsi Fungsi fungsi fclose adalah untuk menutup sumber. Sumber dibuka dan ditutup.
mod fopen (jadual di bawah):
Mod
Penerangan | r Baca sahaja. Mulakan pada permulaan fail. |
Baca/Tulis. Mulakan pada permulaan fail. | |
w | |
Tulis sahaja. Membuka dan mengosongkan kandungan fail jika fail itu tidak wujud, mencipta fail baharu. | Baca/Tulis. Membuka dan mengosongkan kandungan fail jika fail itu tidak wujud, mencipta fail baharu. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
a+<🎜> | Baca/Tambah. Kekalkan kandungan fail dengan menulis ke hujung fail. <🎜><🎜> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<🎜> < 🎜><🎜> x<🎜><🎜> | Sahaja tulis. Buat fail baharu. Jika fail sudah wujud, mengembalikan FALSE dan ralat. <🎜><🎜> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<🎜> < 🎜><🎜> x+<🎜><🎜> | Baca /Tulis. Buat fail baharu. Jika fail sudah wujud, mengembalikan FALSE dan ralat. <🎜><🎜> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
t<🎜> | Tukar n kepada rn di bawah tingkap<🎜><🎜> < 🎜><🎜>
Instance <?php header("Content-type:text/html;charset=utf-8"); //设置编码 $filename = 'test.txt'; $fp= fopen($filename, "r"); $len = fwrite($fp, '我是一只来自南方的狼,一直在寻找心中的花姑娘'); fclose($fp); print $len .'字节被写入了\n'; ?> Hasil berjalan program:
kami mendapati bahawa menulis dengan r sahaja tidak berjaya Mencipta fail sementara Fail yang kami buat sebelum ini ialah fail kekal. Mencipta fail sementara juga sangat berguna dalam pembangunan projek harian kami. Beberapa faedah mencipta fail sementara 1 Padamkannya selepas digunakan 2. Tidak perlu mengekalkan status pemadaman fail ini Contohnya: Saya perlu padamkan A Pindahkan kandungan fail ke B, dan pindahkan kandungan fail B ke C. Sama seperti dalam kehidupan sebenar, saya boleh mula-mula menggunakan botol sementara untuk mengisi air B, dan kemudian menulis data A ke dalam B. Masukkan air dari botol sementara ke C. Mari kita pelajari fungsi ini: sumber tmpfile ( ) Fungsi: Buat fail sementara dan kembalikan jenis sumber. Fail dipadamkan apabila ia ditutup. Instance <?php header("Content-type:text/html;charset=utf-8"); //设置编码 $handle = tmpfile(); //向里面写入了数据 $numbytes = fwrite($handle, '写入临时文件的内容'); //关闭临时文件,文件即被删除 fclose($handle); echo '向临时文件中写入了'.$numbytes . '个字节'; ?> Hasil menjalankan program:
Alih, salin, padam fail Namakan semula fail namakan semula($nama lama,$nama baharu); Fungsi ini mengembalikan nilai bool dan menukar nama lama kepada nama baharu. Contoh <?php $fileName1="text.txt"; $fileName2="text--1.txt"; rename($fileName1,$fileName2); ?> Contoh di atas ialah menamakan semula fail text.txt kepada text--1.txt Anda juga boleh boleh cuba salin fail salin( Fail sumber , fail sasaran) Fungsi: Salin fail sumber dengan laluan yang ditentukan ke lokasi fail sasaran. Contoh <?php $filename = 'file.txt'; //旧文件名 $filename2 = 'copy-file.txt'; //新文件名 copy($filename, $filename2); //修改名字。 ?> Contoh di atas ialah menamakan fail file.txt , salin fail bernama copy-file.txt dengan kandungan yang sama. Padam fail nyahpaut (fail dengan laluan yang ditentukan) Contoh <?php header("Content-type:text/html;charset=utf-8"); //设置编码 $filename = 'test.txt'; unlink($filename); ?> Contoh di atas adalah untuk memadam fail bernama test.txt Fungsi yang biasa digunakan dalam fail saiz fail Kesan saiz fail Contoh <?php header("Content-type:text/html;charset=utf-8"); //设置编码 $filename = 'file.txt'; echo $filename . '文件大小为: ' . filesize($filename) . ' bytes'; ?> Hasil jalankan program:
Fungsi lain untuk mengendalikan fail, membaca fail < lebar jadual ="-642"> |
<🎜><🎜>Fungsi<🎜><🎜> | Baca keseluruhan fail ke dalam tatasusunan | Baca baris dari penuding fail dan kembalikan palsu selepas membaca hingga akhir | fgetc | Baca aksara daripada penuding fail dan kembalikan palsu selepas membaca hingga akhir | ftruncate | Potong fail ke panjang yang diberikan | Kami menggunakan contoh untuk menggunakan semua fungsi di atas. Kami menulis sekumpulan fail dalam fail text.txt:
fgetc membaca satu <?php //以增加的r模式打开 $fp = fopen('text.txt','r+'); //你分发现每次只读一个字符 echo fgetc($fp) ."<br>"; //我要全部读取可以,读取一次将结果赋值一次给$string while($string = fgetc($fp)){ echo $string; } ?> Hasil berjalan program:
fgets membuka satu baris pada satu masa: rreee Keputusan:
<🎜 fungsi pintasan <?php //以增加的r模式打开 $fp = fopen('text.txt','r+'); //你分发现每次只读一个字符 echo fgets($fp)."<br>"; echo fgets($fp)."<br>"; echo fgets($fp)."<br>"; echo fgets($fp); ?> Jalankan atur cara dan buka fail text.txt untuk melihat sama ada terdapat 20 bait Fungsi masa fail
Instance <?php //打开我们上面的text.txt文件 $file = fopen("text.txt", "a+"); //你可以数数20个字有多长,看看是不是达到效果了 echo ftruncate($file,10); fclose($file); ?> Hasil berjalan program:
Fungsi pemprosesan direktori Sebelum ini, semua yang kami proses adalah fail, direktori itu Bagaimana menangani folder Mari kita pelajari fungsi yang berkaitan dengan pemprosesan direktori atau folder. Idea asas memproses folder adalah seperti berikut: 1. Baca yang tertentu Apabila menentukan laluan, tentukan sama ada ia adalah folder 2 Jika ia adalah folder, buka folder yang ditentukan dan kembalikan pembolehubah sumber direktori fail 3 readdir untuk membaca fail dalam direktori sekali Penunjuk direktori dialihkan ke belakang sekali 4. Gunakan readdir untuk membaca hingga akhir, jika tiada fail yang boleh dibaca, kembalikan false 5. Tutup direktori fail Mari belajar mengenainya Fungsi yang lebih biasa digunakan:
Instance <?php header("Content-type:text/html;charset=utf-8"); //设置编码 $filename = 'text.txt'; if (file_exists($filename)) { echo "$filename"."文件的上次访问时间是: " . date("Y-m-d H:i:s", fileatime($filename))."<br>"; echo "$filename"."文件的创建时间是: " . date("Y-m-d H:i:s", filectime($filename))."<br>"; echo "$filename"."文件的修改时间是: " . date("Y-m-d H:i:s", filemtime($filename)); } ?> Anda boleh lari program untuk melihat sama ada ia adalah direktori pemacu D komputer anda Tentukan jenis fail <?php //设置打开的目录是D盘 $dir = "D:/"; //判断是否是文件夹,是文件夹 if (is_dir($dir)) { if ($dh = opendir($dir)) { //读取一次向后移动一次文件夹指针 echo readdir($dh).'<br />'; echo readdir($dh).'<br />'; echo readdir($dh).'<br />'; echo readdir($dh).'<br />'; echo readdir($dh).'<br />'; echo readdir($dh).'<br />'; //读取到最后返回false //关闭文件夹资源 closedir($dh); } } ?> Jalankan program dan lihat Fungsi laluan fail Kami sering menghadapi keadaan laluan fail pemprosesan. Contohnya: 1. Akhiran fail perlu dikeluarkan 2 keluar nama tetapi bukan direktori 3 Anda hanya perlu mengeluarkan laluan direktori dalam nama laluan 4 Atau menghuraikan setiap bahagian URL untuk mendapatkan nilai bebas 5. Atau pun bentuk URL sendiri Keluar Anda perlu menggunakan fungsi kelas pemprosesan laluan di banyak tempat. Kami telah menandakan fungsi pemprosesan laluan yang biasa digunakan untuk semua orang Anda hanya boleh memproses fungsi pemprosesan laluan ini:
pathinfo pathinfo (string $path) Instance <?php //设置打开的目录是D盘 $dir = "D:/"; //判断是否是文件夹,是文件夹 if (is_dir($dir)) { if ($dh = opendir($dir)) { //读取到最后返回false,停止循环 while (($file = readdir($dh)) !== false) { echo "文件名为: $file : 文件的类型是: " . filetype($dir . $file) . "<br />"; } closedir($dh); } } ?> Hasil pelaksanaan program:
nama asas nama asas ( string $path[, string $suffix]) Instance <?php header("Content-type:text/html;charset=utf-8"); $path_parts = pathinfo('D:/www/a.html'); echo '文件目录名:'.$path_parts['dirname']."<br />"; echo '文件全名:'.$path_parts['basename']."<br />"; echo '文件扩展名:'.$path_parts['extension']."<br />"; echo '不包含扩展的文件名:'.$path_parts['filename']."<br />"; ?> Hasil pelaksanaan program:
dirname dirname(rentetan $path ) Instance <?php echo "1: ".basename("d:/www/a.html", ".d")."<br>"; echo "2: ".basename("d:/www/include")."<br>"; echo "3: ".basename("d:/www/text.txt")."<br>"; ?>
Jalankan program anda parse_url parse_url (rentetan $path) Instance <?php $a=dirname(__FILE__); echo$a; ?> Hasil pelaksanaan program:
http_build_query http_build_query (campuran $data untuk diproses) Instance <?php $url = 'http://username:password@hostname:9090/path?arg=value#anchor'; var_dump(parse_url($url)); ?> Hasil berjalan program:
Manual Rujukan Sistem Fail PHP Untuk manual rujukan lengkap fungsi sistem fail PHP, sila lawati Manual Rujukan Sistem Fail PHP kami. ||
<?php
header("Content-type:text/html;charset=utf-8");
$data = "我是一个兵,来自老百姓";
$numbytes = file_put_contents('binggege.txt', $data);
if($numbytes){
echo '写入成功,我们读取看看结果试试:';
echo file_get_contents('binggege.txt');
}else{
echo '写入失败或者没有权限,注意检查';
}
?>
Perisian kursus tidak tersedia untuk dimuat turun pada masa ini. Kakitangan sedang menganjurkannya. Sila beri perhatian lebih kepada kursus ini pada masa hadapan~
Pelajar yang telah menonton kursus ini juga sedang belajar
|