您的位置:首页 > 编程语言 > PHP开发

php读取目录及子目录下所有文件名的方法

2017-05-16 02:47 471 查看
为了便于操作,先将PHP读取目录及子目录下所有文件名的方法封装成一个类。

// +----------------------------------------------------------------------
// | lidequan [ I CAN DO IT JUST WORK HARD ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016 http://www.findme.wang All rights reserved.
// +----------------------------------------------------------------------
// | Author: lidequan <dequanLi_edu@126.com>
// +----------------------------------------------------------------------
class File{
/**
*获取某个目录下所有文件
*@param $path文件路径
*@param $child 是否包含对应的目录
*/
public  function getFiles($path,$child=false){
$files=array();
if(!$child){
if(is_dir($path)){
$dp = dir($path);
}else{
return null;
}
while ($file = $dp ->read()){
if($file !="." && $file !=".." && is_file($path.$file)){
$files[] = $file;
}
}
$dp->close();
}else{
$this->scanfiles($files,$path);
}
return $files;
}
/**
*@param $files 结果
*@param $path 路径
*@param $childDir 子目录名称
*/
public function scanfiles(&$files,$path,$childDir=false){
$dp = dir($path);
while ($file = $dp ->read()){
if($file !="." && $file !=".."){
if(is_file($path.$file)){//当前为文件
$files[]= $file;
}else{//当前为目录
$this->scanfiles($files[$file],$path.$file.DIRECTORY_SEPARATOR,$file);
}
}
}
$dp->close();
}
}


读取Manual/html目录及子目录下所有文件名

$File=new File();
$info=$File->getFiles('Manual/html/',true);




读取Manual/html目录下所有文件名

$File=new File();
$info=$File->getFiles('Manual/html/');




也可以用php中glob与scandir,当时其有一定的限制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: