Fungsi dan pemalar biasa dalam fail php
Pemalar untuk operasi fail
Pemalar berikut adalah yang paling biasa digunakan. Merupakan pemalar yang menjadi pembatas direktori fail.
Mari kita lihat formatnya:
平臺(tái) | 分割符 |
---|---|
windows | |
類(lèi)unix | / |
Format laluan Windows ialah d:xxxxxx Nota: Windows menyokong d:/xxx/xxx
Format laluan Linux ialah /home/xxx/xxx Nota: Jika homexxxxxx salah pada Linux
Jadi bila Jika anda mendayakan melarikan diri, dsb., jika aksara melarikan diri digunakan bersama, d:xxxxxx akan menjadi sama. Apabila menilai, terdapat dua Jika ada, tukarkannya menjadi satu, dan kemudian ganti / untuk memisahkan laluan, supaya laluan pada Linux atau Windows boleh kekal bersatu.
Kami akan menggunakan pemalar:
DIRECTORY_SEPARATOR
Mari tulis contoh kecil untuk menentukan laluan fail semasa:
Memandangkan FILE ialah pemalar PHP yang dipratentukan, tiada cara untuk mengubahnya, jika perlu, FAIL juga boleh menyesuaikan diri dengan sistem pengendalian.
Kemudian jangan gunakan FAIL Anda boleh menggunakan pemalar tersuai dan proses FAIL seperti berikut:
<?php $_current_file = str_replace(array('/', '\'), DIRECTORY_SEPARATOR, __FILE__); define('__CUR_FILE__', $_current_file); echo __CUR_FILE__; ?>
fungsi operasi penunjuk fail.
putar balik ( pemegang sumber)
Fungsi: Penunjuk kembali ke permulaan
fseek ( pemegang sumber , int offset [, int from_where])
Fungsi: Gerakkan penuding fail ke belakang mengikut aksara yang ditentukan
Dalam bacaan sebelumnya, kami mendapati bahawa fread membaca data dengan panjang yang ditentukan. Baca kandungan panjang yang ditentukan Pada kali seterusnya anda membacanya, mulakan dari kedudukan asal dan kemudian baca ke belakang.
Seperti yang ditunjukkan dalam gambar di atas, kita boleh bayangkan:
1. Apabila fail pertama kali dibuka, ikon merah dibaca
2 .Warna palsu fail dibaca dari A hingga C
3. Kali seterusnya anda membukanya, anda boleh mula membaca dari anak panah hijau C.
Kami menulis sekumpulan fail dalam fail demo.txt:
abcdeefghijklk
opqrst
uvwxyz
12345678
? Kita boleh mula bereksperimen sekali.
<?php $fp = fopen('demo2.txt', 'r+'); //讀取10個(gè)字符 echo fread($fp,10); //指針設(shè)置回到開(kāi)始處 rewind($fp); //再讀取10次看看輸出的是什么 echo '<br>'; echo fread($fp,10); echo '<br>'; //文件指針向后移動(dòng)10個(gè)字符 echo fseek($fp,10); echo '<br>'; //再看看文件中輸出的是什么 echo fread($fp,10); echo '<br>'; fclose($fp); ?>
Dalam contoh di atas, anda akan mendapati bahawa fseek akan menggerakkan sebanyak bait sebagai panjang yang ditentukan. Dan gulung semula kembali ke permulaan fail setiap kali.
Bagaimana untuk bergerak ke penghujung? Kita boleh mengira bilangan bait. Bergerak terus ke belakang semasa fseek.
Mari kita bincangkan tentang bait statistik saiz fail.
saiz fail mengesan saiz fail
<?php $filename = 'demo.txt'; echo $filename . '文件大小為: ' . filesize($filename) . ' bytes'; ?>
Fungsi lain untuk mengendalikan fail
Malah, terdapat beberapa lagi fungsi untuk mengendalikan fail , membaca fail
函數(shù)名 | 功能 |
---|---|
file | 把整個(gè)文件讀入一個(gè)數(shù)組中 |
fgets | 從文件指針中讀取一行,讀到最后返回false |
fgetc | 從文件指針中讀取一個(gè)字符,讀到最后返回false |
ftruncate | 將文件截?cái)嗟浇o定的長(zhǎng)度 |
Kami menggunakan contoh untuk menggunakan semua fungsi di atas.
Kami menulis sekumpulan fail dalam fail demo.txt:
abcdeefghijklk
opqrst
uvwxyz
12345678
<?php //以增加的r模式打開(kāi) $fp = fopen('demo.txt','r+'); //你分發(fā)現(xiàn)每次只讀一個(gè)字符 echo fgetc($fp); //我要全部讀取可以,讀取一次將結(jié)果賦值一次給$string while($string = fgetc($fp)){ echo $string; } ?>Dengan kod di atas, anda akan mendapati bahawa setiap kali ia dibaca, ia membuka satu baris pada satu masa. Pulangan bacaan akhir adalah palsu. Mari kita lihat fungsi pemintasan fail seterusnya:
<?php //以增加的r模式打開(kāi) $fp = fopen('demo.txt','r+'); //你分發(fā)現(xiàn)每次只讀一個(gè)字符 echo fgets($fp); echo fgets($fp); echo fgets($fp); echo fgets($fp); ?>Dalam contoh di atas, kami mendapati bahawa kandungan boleh dipaparkan selagi ia dipintas.
Fungsi masa fail
<?php //打開(kāi)我們上面的demo.txt文件 $file = fopen("demo.txt", "a+"); //你可以數(shù)數(shù)20個(gè)字有多長(zhǎng),看看是不是達(dá)到效果了 echo ftruncate($file,20); fclose($file); ?>
函數(shù) | 功能說(shuō)明 |
---|---|
filectime | 文件創(chuàng)建時(shí)間 |
filemtime | 文件修改時(shí)間 |
fileatime | 文件上次訪(fǎng)問(wèn)時(shí)間 |