[PHP]文件系统

介绍

在很多PHP应用中,我们都会用到“文件”,比如上传文件,下载文件,信件文件,读文件等等操作。所以,文件对我们来说至关重要。

读文件

读文件有3种方法。

readfile($fileName)

这种方式很简单,只是很简单的打开文件、输出文件内容到屏幕、关闭文件。

在这个过程中,我们只是简单的输出了文件,不能对文件的输出内容做一个控制。

平时,我们很少只是简单的将文件内容输出而不做任何处理,所以,这个函数很简单,但是用的也很少。

file_get_contents($fileName)

这种方式稍微复杂一点,但是可以控制文件的输出。

同样,file_get_contents()同样做3件事:打开文件,读取文件,关闭文件。

但是,使用file_get_contents($fileName),将会把$fileName的内容作为string字符串返回,我们得到这个字符串,就可以随意处理这个字符串了。

文件的换行,反应在字符串里是”\n”。这种方式用的最多

fread()

这种方法功能最多,类似于C语言等的用法。同样,功能多也意味着使用复杂。
fread()需要两个parameter.
第一个是文件的Resource,第二个是文件大小。

文件的Resource如何得到呢?通过fopen()得到
fopen()需要2个参数:1个是文件名,1个是打开文件的方式:r—read w—write a—append b—binary

filesize($fileName)返回文件的大小。

<?php
$handle=fopen("test.php","rb");
fread($handle,filesize($handle));
fclose($handle);//always,always,always remember to close it

写文件

写文件有两种方式。
1、file_put_contents()
2、fwrite()

file_put_contents()

file_put_contents()和file_get_contents()差不多。相当于做了3步。
1、打开文件
2、写入文件
3、关闭文件
file_put_contents()需要两个参数,一个是要写入的文件名,另一个是写入的内容(文件中换行以\n表示)。

<?php $fileArr[]="this is line one"; $fileArr[]="this is line two"; $fileArr[]="this is line three"; $fileContent=implode("\n",$fileArr); print_r($fileContent); file_put_contents("fill_put_contents.txt",$fileContent);

fwrite()

fwrite()需要3步。
1、打开文件 fopen()
2、写入文件 fwrite()
3、关闭文件 fclose()

<?php
$fileName="fill_put_contents.txt";
$handle=fopen($fileName,"ab");
fwrite($handle,"nihao\nnihao\n");
fclose($handle);

移动、重命名&复制&删除文件

移动、重命名—rename()

在unix系统中,mv有两个功能,重命名与移动文件。
同样,在php中,rename有两个功能,重命名与移动文件。

复制文件—copy()

copy()与rename()参数一样,使用也基本相同。

在unix系统中,文件被当做一个硬链接,所以其函数名称是unlink()

待续…

你可能感兴趣的:(PHP)