单例模式&&遍历指定目录下的所有文件以及文件夹
2016-10-30 16:54
746 查看
class readDirList
{
//单例模式 类对象存放空间
private static $_instance;
//将文件夹和目录存放在字符串中
private static $_list;
//将文件夹和目录存放在数组中
private static $_array = array();
//私有化构造函数
private function __construct(){}
//私有化Clone函数
private function __clone(){}
//获取类对象接口
public static function getInstance()
{
if(!(self::$_instance instanceof self))
{
self::$_instance = new self;
}
return self::$_instance;
}
//获取目录列表
public static function getDirList($dir)
{
$dir = rtrim($dir,"/");
if(is_dir($dir))
{
if($dh = opendir($dir))
{
while($file = readdir($dh))
{
if(is_dir($dir."/".$file) && $file!="." && $file!="..")
{
array_push(self::$_array,"目录: ".$dir."/".$file);
self::$_list .= "目录: ".$dir."/".$file."\r\n";
self::getDirList($dir."/".$file);
}
else if($file!="." && $file!="..")
{
array_push(self::$_array,"文件: ".$dir."/".$file);
self::$_list .= "文件: ".$dir."/".$file."\r\n";
}
}
closedir($dh);
}
}
return self::$_array;
}
//打印对象
public function show($data)
{
echo "<pre>";var_dump($data);echo "</pre>";
}
}
$filename = $_SERVER["DOCUMENT_ROOT"].'/‘; //需要遍历的目录
$readDirList = readDirList::getInstance();
$list = $readDirList->getDirList($filename);
$readDirList->show($list);
{
//单例模式 类对象存放空间
private static $_instance;
//将文件夹和目录存放在字符串中
private static $_list;
//将文件夹和目录存放在数组中
private static $_array = array();
//私有化构造函数
private function __construct(){}
//私有化Clone函数
private function __clone(){}
//获取类对象接口
public static function getInstance()
{
if(!(self::$_instance instanceof self))
{
self::$_instance = new self;
}
return self::$_instance;
}
//获取目录列表
public static function getDirList($dir)
{
$dir = rtrim($dir,"/");
if(is_dir($dir))
{
if($dh = opendir($dir))
{
while($file = readdir($dh))
{
if(is_dir($dir."/".$file) && $file!="." && $file!="..")
{
array_push(self::$_array,"目录: ".$dir."/".$file);
self::$_list .= "目录: ".$dir."/".$file."\r\n";
self::getDirList($dir."/".$file);
}
else if($file!="." && $file!="..")
{
array_push(self::$_array,"文件: ".$dir."/".$file);
self::$_list .= "文件: ".$dir."/".$file."\r\n";
}
}
closedir($dh);
}
}
return self::$_array;
}
//打印对象
public function show($data)
{
echo "<pre>";var_dump($data);echo "</pre>";
}
}
$filename = $_SERVER["DOCUMENT_ROOT"].'/‘; //需要遍历的目录
$readDirList = readDirList::getInstance();
$list = $readDirList->getDirList($filename);
$readDirList->show($list);
相关文章推荐
- C# 遍历指定目录下的所有文件及文件夹以及遍历数据库的方法
- C# 遍历指定目录下的所有文件及文件夹
- Delphi 计算指定目录下所有文件的大小(遍历文件夹所有文件及目录)
- Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹
- 遍历目录下的所有文件夹和文件,为指定文件改名
- 这是一个定时脚本,主要功能是遍历该文件夹下的所有文件并存储到数组,对数据中的文件进行操作,一个一个移动到指定的目录下,并删除原有文件
- 遍历指定目录下的所有文件及文件夹
- Android 删除目录下的所有文件以及文件夹及遍历文件夹下面的文件
- 遍历指定的目录下所有的文件和文件夹并给出目录层次
- C# 删除、遍历指定目录下的所有指定文件、文件夹
- PHP删除指定目录下所有文件夹以及文件
- 遍历指定目录下的所有文件夹和文件
- C#.Net 遍历文件夹(文件&目录),并把所有文件写到txt中
- MFC遍历指定目录下的所有文件/文件夹(不遍历子目录)
- 遍历某个文件夹(目录)下的所有文件 以及获取文件夹大小
- 获取文件夹下的文件名生成新的文件&DOC命令想从指定的txt中读出文件名,然后在指定文件夹以及子目录下搜索文件,并拷贝到指定目录
- 遍历指定目录下的所有文件和目录, 以及子目录下的文件和目录
- VC中遍历指定目录中的所有文件和文件夹
- PHP遍历指定目录下的文件以及文件夹
- 递归遍历所有指定目录中的文件及子文件夹中的文件