Pemalar untuk fungsi fail biasa

Pemalar berikut adalah yang paling biasa digunakan. Merupakan pemalar yang menjadi pembatas direktori fail.

Mari kita lihat format:


QQ截图20161009110829.png


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. QQ截图20161009110843.png

Kami menulis sekumpulan fail dalam fail demo.txt:

abcdeefghijklk

opqrst

uvwxyz

12345678

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.

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 , 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.

QQ截图20161009111024.png

<?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));
}
?>


Meneruskan pembelajaran
||
<?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)); } ?>
  • Cadangan kursus
  • Muat turun perisian kursus