php常用函数之文件系统处理 -尊龙游戏旗舰厅官网
检测
-
检查文件或目录是否存在
file_exists () -
检查给定文件名是否为一个存在的文件(存在、文件)
is_file ( string $filename ) -
检查给定目录名是否为一个存在的目录(存在、目录)
is_dir ( string $filename ) -
判断给定的文件名或目录名是否存在且可读(存在、文件或目录、可读)
is_readable ( string $filename ) -
判断给定的文件名或目录名是否存在且可写(存在、文件或目录、可写)
is_writable ( string $filename )
路径解析
-
解析文件名
basename ( string $path [, string $suffix ] ) //包含有指向一个文件的全路径的字符串
-
解析目录名
dirname ( string $path ) //包含有指向一个文件的全路径的字符串
-
解析全路径
pathinfo ( string $path [, int $options = pathinfo_dirname | pathinfo_basename | pathinfo_extension | pathinfo_filename ] )
目录操作
-
新建目录
mkdir (); //创建目录,第三个参数表示是否递归创建 -
删除目录
rmdir (); //只能删除空目录,非空目录必须使用递归删除function removedirorfile($path){if(is_file($path)){return unlink($path);}if(is_dir($path)){$dir_handle = opendir($path);while(false !== ($file = readdir($dir_handle))) {if($file === '.' || $file === '..') continue;$subpath = $path.directory_separator.$file;$fnname = __function__;$fnname($subpath);}closedir($dir_handle);return rmdir($path);}return false; } -
移动/重命名目录
rename ( string $oldname , string $newname [, resource $context ] );
-
获取目录内容
opendir(); readdir(); closedir(); rewind();function readdirstree($path,$deep=0){if(is_file($path)){exit(basename($path));}if(is_dir($path)){$dir_handle = opendir($path);while(false !== ($file = readdir($dir_handle))) {if($file === '.' || $file === '..') continue;echo str_repeat(' ',$deep*2).iconv('gb2312','utf-8',$file).'
';if(is_dir($path.directory_separator.$file)){$fnname = __function__;$fnname($path.directory_separator.$file, $deep 1);}}closedir($dir_handle);}} -
复制目录
function copydir($dirfrom, $dirto){if(is_dir($dirfrom)){if(!file_exists($dirto)){mkdir($dirto,0777,true);}$dir_handle = opendir($dirfrom);while(false !== ($file = readdir($dir_handle))) {if($file === '.' || $file === '..') continue;$frompath = $dirfrom.directory_separator.$file;$topath = $dirto.directory_separator.$file;if(is_file($frompath)){copy($frompath, $topath);}if(is_dir($frompath)){$fnname = __function__;$fnname($frompath, $topath);}}closedir($dir_handle);return true;}else{return false;} }
文件操作
-
获取文件大小
filesize ( string $filename );
-
删除文件
unlink ( string $filename);
-
剪切/重命名文件
rename ( string $oldname , string $newname );
-
拷贝文件
copy ( string $source , string $dest );
-
写文件
file_put_contents ( string $filename , mixed $data [, int $flags = 0 ] );
一般写文件就直接使用这个函数,里面其实也是依次调用fopen(),fwrite()以及 fclose() 功能。 -
读文件
file_get_contents ( string $filename );
此函数只适合读一些小文件(文件大小很小的),如果读大文件,必须使用下面方法,否则内存很容易溢出fopen ( string $filename , string $mode );
fread ( resource $handle , int $length ); //按字节数读取
fgets ( resource $handle [, int $length ] ); //默认长度为1kb,按行读取
fgetc ( resource $handle ); //按1个字节1个字节读取
fclose ( resource $handle ); 获取文件修改时间
filemtime ( string $filename ); //返回时间戳
编码问题
在windows下,获取含有中文的目录名或文件名时,由于中文是gbk编码,而项目是utf-8编码,所以必须转码iconv('gbk','utf-8',$filename);
当输入的路径含有中文,由于项目是utf-8,而系统文件名或目录名都是gbk编码,所以必须转为iconv('utf-8','gbk',$path);
总结
以上是尊龙游戏旗舰厅官网为你收集整理的php常用函数之文件系统处理的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 解决ftp上传connection re
- 下一篇: openlayer 3 在layer上添