1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PHP-获取目录中的所有文件和子目录

PHP-获取目录中的所有文件和子目录

时间:2022-04-08 05:55:57

相关推荐

PHP-获取目录中的所有文件和子目录

主要运用了递归的思想和scandir()获取子目录函数,其它的不说了,直接上代码。

/*** 获取目录中所有文件的路径* @param $dir* @return array*/function my_scandir($dir){if(is_dir($dir)){$files = array();$child_dirs = scandir($dir);for($child_dirs as $child_dir){//'.'和'..'是Linux系统中的当前目录和上一级目录,必须排除掉, //否则会进入死循环,报segmentation falt 错误if($child_dir != '.' && $child_dir != '..'){if(is_dir($dir.'/'.$child_dir)){$files[$child_dir] = my_scandir($dir.'/'.$child_dir);}else{$files[] = $child_dir;}}}return $files;}else{return $dir;}}

###下面总结一下常用的php 文件和目录操作函数:

目录操作函数:

opendir()//打开指定目录,接受一个目录的路径及目录名作为参数,函数返回值为可供其他目录函数使用的目录句柄(资源类型)。如果该目录不存在或者没有访问权限,则返回FALSE。readdir()//函数readdir()用于读取指定目录,接受已经用opendir()函数打开的可操作目录句柄作为参数,函数返回当前目录指针位置的一个文件名,并将目录指针向后移动一位。当指针位于目录的结尾时,因为没有文件存在则返回FALSE。closedir()//函数closedir()关闭指定目录,接受已经用opendir()函数打开的可操作目录句柄作为参数。函数无返回值,运行后关闭打开的目录。rewinddir()//函数reweinddir()倒回目录句柄,接受已经用opendir()函数打开的可操作目录句柄作为参数。将目录指针重置目录到开始处,即倒回目录的开头。scandir()//接收目录参数,返回目录下所有的子目录和文件数组is_dir()//判断输入的参数是否是一个目录bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] ) //创建目录rmdir()//删除目录,只能删除非空并且有权限的目录

文件操作函数参考

/article/57720.htm

利用递归删除目录及文件的例子

/*** 删除目录及目录下所有文件或删除指定文件* @param str $path 待删除目录路径* @param int $delDir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录)* @return bool 返回删除状态*/function delDirAndFile($path, $delDir = FALSE) {$handle = opendir($path);if ($handle) {while (false !== ( $item = readdir($handle) )) {if ($item != "." && $item != ".."){is_dir("$path/$item") ? delDirAndFile("$path/$item", $delDir) : unlink("$path/$item");}}closedir($handle);if ($delDir){return rmdir($path);}}else {if (file_exists($path)) {return unlink($path);} else {return FALSE;}}}

电子书籍视频资源下载:关注微信公众号 【超级学仔】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。