Pemalar untuk fungsi fail biasa
Pemalar berikut adalah yang paling biasa digunakan. Merupakan pemalar yang menjadi pembatas direktori fail.
Mari kita lihat format:
Format laluan daripada tingkap ialah d:xxxxxx Nota: Windows menyokong d:/xxx/xxx
Format laluan Linux ialah /home/xxx/xxx Nota: Jika homexxxxxx salah pada Linux
Jadi apabila anda mendayakan melarikan diri dan seumpamanya , Jika aksara melarikan diri digunakan bersama, d:xxxxxx adalah 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 pratetap Pemalar PHP ditakrifkan, jadi tiada cara untuk mengubahnya Jika perlu, FILE juga boleh menyesuaikan diri dengan sistem pengendalian.
Kemudian jangan gunakan FILE Anda boleh menggunakan pemalar tersuai dan proses FILE, seperti berikut:
<?php $_current_file = str_replace(array('/', '\'), DIRECTORY_SEPARATOR, __FILE__); define('__CUR_FILE__', $_current_file); echo __CUR_FILE__; ?>
Fungsi operasi penunjuk fail
rewind (resource handle)
Fungsi: Penunjuk kembali ke permulaan
fseek (resource handle, int offset [, int from_where])
Fungsi: Penunjuk fail bergerak ke belakang Tentukan aksara
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.
??> 2.
opqrst
uvwxyz12345678
Kami boleh mula mencuba
<?php $fp = fopen('output.txt', 'r+'); //讀取10個(gè)字符 echo fread($fp,10); //指針設(shè)置回到開(kāi)始處 rewind($handle); //再讀取10次看看輸出的是什么 echo fread($fp,10); //文件指針向后移動(dòng)10個(gè)字符 echo fseek($fp,10); //再看看文件中輸出的是什么 echo fread($fp,10); fclose($handle); ?>
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.
<?php $filename = 'demo.txt'; echo $filename . '文件大小為: ' . filesize($filename) . ' bytes'; ?>Fungsi lain untuk mengendalikan failMalah, terdapat beberapa lagi fungsi untuk mengendalikan fail , baca fail
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; } ?>atgets opens one line? masa :
<?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); ?>Dengan kod di atas, anda akan mendapati bahawa setiap bacaan membuka satu baris pada satu masa. Pulangan bacaan akhir adalah palsu. Mari kita lihat fungsi pemintasan fail seterusnya:
<?php //打開(kāi)我們上面的demo.txt文件 $file = fopen("demo.txt", "a+"); //你可以數(shù)數(shù)20個(gè)字有多長(zhǎng),看看是不是達(dá)到效果了 echo ftruncate($file,20); fclose($file); ?>Dalam contoh di atas, kami mendapati bahawa kandungan boleh dipaparkan selagi ia dipintas.
<?php $filename = 'demo.txt'; if (file_exists($filename)) { echo "$filename文件的上次訪問(wèn)時(shí)間是: " . date("Y-m-d H:i:s", fileatime($filename)); echo "$filename文件的創(chuàng)建時(shí)間是: " . date("Y-m-d H:i:s", filectime($filename)); echo "$filename文件的修改時(shí)間是: " . date("Y-m-d H:i:s", filemtime($filename)); } ?>