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:

平台分割符
windows
类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.

document_2015-09-08_55eecf3c2a7e0.png

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个字符
echo fread($fp,10);

//指针设置回到开始处
rewind($fp);
//再读取10次看看输出的是什么
echo '<br>';
echo fread($fp,10);
echo '<br>';
//文件指针向后移动10个字符
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

函数名功能
file把整个文件读入一个数组中
fgets从文件指针中读取一行,读到最后返回false
fgetc从文件指针中读取一个字符,读到最后返回false
ftruncate将文件截断到给定的长度

Kami menggunakan contoh untuk menggunakan semua fungsi di atas.

Kami menulis sekumpulan fail dalam fail demo.txt:

abcdeefghijklk
opqrst
uvwxyz
12345678

rr >fgets membuka satu baris pada satu masa:

<?php

//以增加的r模式打开
$fp = fopen('demo.txt','r+');

//你分发现每次只读一个字符
echo  fgetc($fp);

//我要全部读取可以,读取一次将结果赋值一次给$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模式打开
$fp = fopen('demo.txt','r+');

//你分发现每次只读一个字符
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

//打开我们上面的demo.txt文件
$file = fopen("demo.txt", "a+");

//你可以数数20个字有多长,看看是不是达到效果了
echo ftruncate($file,20);
fclose($file);
?>
函数功能说明
filectime文件创建时间
filemtime文件修改时间
fileatime文件上次访问时间


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