6月17日
2008年6月17日,一天的存档
6月17日
有脚本,你应该总是手头上有,因为它结束了,你在最意想不到的时刻和场合的需要。
这个函数在PHP中,例如,保存在许多情况下,我作为参数传递一个字符串,它是完整的路径扫描scan_directory_recursively函数返回一个数组,包含指定的目录结构完整的不必要的时间浪费。
你可以表明,作为第二个可选参数,延长或不一定会出现在文件名的文本部分。 这基本上是一个过滤器,以排除某些类的结果。
例如:
$dirs=scan_directory_recursively('/home/ivan/Tempo');
返回一个数组的所有目录和文件在/ home /伊万/时间,而:
$dirs=scan_directory_recursively('/home/ivan/Tempo','.php');
除了为扩展名的文件返回数组的所有目录和文件在/ home /伊万/时间。PHP!
这不是我做的,为什么我问这些人在自己的项目使用不删除引用lixlpixel,从他们来的互联网网站。
这里的功能:
<?腓 / /递归的PHP函数------------------------- lixlpixel / / Scan_directory_recursively的(目录扫描,过滤器) / /预计的目录路径和一个可选扩展到过滤 / /当然,PHP中有权限读取目录 / /指定你和这个目录里面的所有文件和文件夹 / / ------------------------------------------------ ------------ / /要使用这个函数来获取数组中的所有文件和目录,写: / / $ Filestructure scan_directory_recursively =('路径/ /目录'); / /要使用此功能来扫描目录和筛选的结果,写: / / $ FileSelection scan_directory_recursively =('目录','扩展'); scan_directory_recursively功能($目录,过滤器= FALSE) { / /如果路径上有一个斜线结束,我们在这里删除 如果(SUBSTR($目录,-1)=='/') { $目录= SUBSTR($目录,0,-1); } / /如果路径是不正确或不是一个目录... 如果(file_exists($目录)| |!is_dir($目录)) { / / ... 我们返回false,退出功能 返回FALSE; / / ... 否则,如果路径是可读 ELSEIF(is_readable(目录)) { / /我们打开目录 美元Directory_list =执行opendir($目录); / /通过内部项目和扫描 (FALSE! ==($文件= READDIR($ directory_list))) { / /如果文件指针是不是当前目录 / /或父目录 如果($ ='。'&& $文件='..') { / /我们建设的新路径扫描 $路径= $目录'/'$文件。; / /如果路径是可读 如果(is_readable($ PATH)) { / /我们分裂目录的新路径 $子目录=爆炸('/',$ PATH); / /如果新的路径是一个目录 如果(is_dir($ PATH)) { / /添加目录内容的文件列表 美元Directory_tree [] =阵列( “路径”=> $路径, '名称'=>结束(子目录), '类'=>'目录', / /我们调用这个函数扫描的新路径 “内容”=> scan_directory_recursively($路径,过滤美元)); / /如果新的路径是一个文件 ELSEIF(is_file($ PATH)) { / /获取最后一个点后,采取一切文件扩展名 美元扩建结束(爆炸(完(子目录))'。'); / /如果没有在九月的过滤器或过滤器的设置和火柴 (过滤===假| |过滤== $扩展) { / /添加文件的详细文件列表 美元Directory_tree [] =阵列( “路径”=> $路径, '名称'=>结束(子目录), '扩展'=> $延长, '大小'=>大小($ PATH) '类'=>'文件'); } } } } } / /关闭目录 closedir($ directory_list); / /返回文件列表 返回directory_tree; / /如果路径是无法读取... 否则{} / / ... 我们返回false 返回FALSE; } } / / ------------------------------------------------ ------------ ?>
为了您的方便,但也有我自己,我在这里补充一个没有意见的版本和可供下载:







