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.
Kami menulis sekumpulan fail dalam fail demo.txt: abcdeefghijklkopqrst
uvwxyz12345678
Kami boleh mula mencuba
<?php $fp = fopen('output.txt', 'r+'); //读取10个字符 echo fread($fp,10); //指针设置回到开始处 rewind($handle); //再读取10次看看输出的是什么 echo fread($fp,10); //文件指针向后移动10个字符 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模式打开 $fp = fopen('demo.txt','r+'); //你分发现每次只读一个字符 echo fgetc($fp); //我要全部读取可以,读取一次将结果赋值一次给$string while($string = fgetc($fp)){ echo $string; } ?>atgets opens one line<🎜 masa :
<?php //以增加的r模式打开 $fp = fopen('demo.txt','r+'); //你分发现每次只读一个字符 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 //打开我们上面的demo.txt文件 $file = fopen("demo.txt", "a+"); //你可以数数20个字有多长,看看是不是达到效果了 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文件的上次访问时间是: " . date("Y-m-d H:i:s", fileatime($filename)); echo "$filename文件的创建时间是: " . date("Y-m-d H:i:s", filectime($filename)); echo "$filename文件的修改时间是: " . date("Y-m-d H:i:s", filemtime($filename)); } ?>