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"); //設(shè)置編碼 $filename = 'test.txt'; $fp= fopen($filename, "r"); $len = fwrite($fp, '我是一只來自南方的狼,一直在尋找心中的花姑娘'); fclose($fp); print $len .'字節(jié)被寫入了\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"); //設(shè)置編碼 $handle = tmpfile(); //向里面寫入了數(shù)據(jù) $numbytes = fwrite($handle, '寫入臨時(shí)文件的內(nèi)容'); //關(guān)閉臨時(shí)文件,文件即被刪除 fclose($handle); echo '向臨時(shí)文件中寫入了'.$numbytes . '個(gè)字節(jié)'; ?> 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"); //設(shè)置編碼 $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"); //設(shè)置編碼 $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+'); //你分發(fā)現(xiàn)每次只讀一個(gè)字符 echo fgetc($fp) ."<br>"; //我要全部讀取可以,讀取一次將結(jié)果賦值一次給$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+'); //你分發(fā)現(xiàn)每次只讀一個(gè)字符 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+"); //你可以數(shù)數(shù)20個(gè)字有多長,看看是不是達(dá)到效果了 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"); //設(shè)置編碼 $filename = 'text.txt'; if (file_exists($filename)) { echo "$filename"."文件的上次訪問時(shí)間是: " . date("Y-m-d H:i:s", fileatime($filename))."<br>"; echo "$filename"."文件的創(chuàng)建時(shí)間是: " . date("Y-m-d H:i:s", filectime($filename))."<br>"; echo "$filename"."文件的修改時(shí)間是: " . 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 //設(shè)置打開的目錄是D盤 $dir = "D:/"; //判斷是否是文件夾,是文件夾 if (is_dir($dir)) { if ($dh = opendir($dir)) { //讀取一次向后移動(dòng)一次文件夾指針 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 //關(guān)閉文件夾資源 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 //設(shè)置打開的目錄是D盤 $dir = "D:/"; //判斷是否是文件夾,是文件夾 if (is_dir($dir)) { if ($dh = opendir($dir)) { //讀取到最后返回false,停止循環(huán) 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 '文件擴(kuò)展名:'.$path_parts['extension']."<br />"; echo '不包含擴(kuò)展的文件名:'.$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 = "我是一個(gè)兵,來自老百姓";
$numbytes = file_put_contents('binggege.txt', $data);
if($numbytes){
echo '寫入成功,我們讀取看看結(jié)果試試:';
echo file_get_contents('binggege.txt');
}else{
echo '寫入失敗或者沒有權(quán)限,注意檢查';
}
?>
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
|