首页 > 代码库 > php之文件基础操作

php之文件基础操作

在php中对文件的基础操作非常的简单,php提供的函数粗略的用了一遍。

  file_get_contents():可以获取文件的内容获取一个网络资源的内容,这是php给我封装的一个比较快捷的读取文件的内容、网络资源的函数,此函数里面封装了对文件的打开,读取,关闭操作。一次性的将内容全部读取到内存中,相当方便,但是对于大文件或者网络资源较大的时候,不建议使用。file_put_contents():写入数据,和file_get_contents()类似。

  文件的基础操作:touch()--新建,fopen()--打开文件、fread()--读取文件内容、 fwrite()--写内容到文件、 fclose()--关闭文件句柄、unlink()--删除文件。在这里不得不说另一个开发中常见的场景,就是.cvs格式的文件进行操作。excel文件的标准是微软指定的,目测操作起来有点麻烦。cvs格式的数据,格式比较简单,就是逗号’,‘隔开的数据。可以通过文件的基本操作进行数据的读取。php专门提供了cvs的操作函数fgetcvs()

  

$file=‘score.csv‘;$fh=fopen($file,‘rb‘);/*$fh=fopen($file,‘rb‘);while (!feof($fh)) {    $row=fgets($fh);    print_r(explode(‘,‘, $row));}基本操作读取cvs数据,cvs的数据,读取出来,终究用‘,‘逗号隔开了,如果用户不小心在输入了一个‘,‘,就会出现问题,php提供的专用函数,会给我们区别开来*///fgetcsv:这个函数已经封装好了csv的相关规范while (!feof($fh)) {    $row=fgetcsv($fh);    print_r($row);}

文件目录的操作,还是贴代码,方便以后自己看起来能快速看懂

/*unlink:删除文件rmdir:删除目录filesize:取得文件的大小glob():匹配文件print_r(glob(‘*.txt‘));:匹配当前目录下的所有txt文件opendir:打开目录readdir:读取目录closedir:鼾目录is_dir:判断是否为目录mkdir:创建目录rmdir:删除目录*/$path=‘../file‘;$dh=opendir($path);/*echo readdir($dh).‘<br/>‘;echo readdir($dh).‘<br/>‘;echo readdir($dh).‘<br/>‘;...是虚拟目录,分别代表当前目录和上级目录*/while (($filename=readdir($dh))!==false) {    if (is_dir($filename)) {        echo ‘是目录‘;    }    echo $filename.‘<br/>‘;}

结合之前学到的递归,实现了级联目录的打印。

/*递归打印级联目录
每个目录下面都有两个虚拟目录,
.
..
分别便是当前目录和上级目录,所以在递归的时候,这两个要过滤掉
*/function recdir($path){ $dh=opendir($path);
  
while (($row=readdir($dh))!==false) { if(is_dir($path.‘/‘.$row)) { if($row!=‘.‘&&$row!=‘..‘) { recdir($path.‘/‘.$row); } } else { echo $path.‘/‘.$row.‘<br/>‘; } } fclose($dh);}

 

  

 

php之文件基础操作