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/>';

mkdir($path,0777,true);
.
..是虚拟目录,分别代表当前目录和上级目录
*/

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

  

原文地址:https://www.cnblogs.com/doyourself/p/4084224.html