分享

使用php scandir函数遍历文件夹目录和所有文件

 sumi2005 2014-06-22

使用php scandir函数遍历文件夹目录和所有文件

使用php scandir函数遍历文件夹目录和所有文件

<?php
$dir = "."; //当前目录
list_file($dir);
 
function list_file($dir){
	$list = scandir($dir); // 得到该文件下的所有文件和文件夹
	foreach($list as $file){//遍历
		$file_location=$dir."/".$file;//生成路径
		if(is_dir($file_location) && $file!="." &&$file!=".."){ //判断是不是文件夹
			echo "------------------------sign in $file_location------------------";
			list_file($file_location); //继续遍历
		}
		echo "<br/>";
	}
}
?>

以前的写法:

<?php
/**
      * Get an array that represents directory tree
      * @param string $directory     Directory path
      * @param bool $recursive         Include sub directories
      * @param bool $listDirs         Include directories on listing
      * @param bool $listFiles         Include files on listing
      * @param regex $exclude         Exclude paths that matches this regex
      */
     function directoryToArray($directory, $recursive = true, $listDirs = false, $listFiles = true, $exclude = '') {
         $arrayItems = array();
         $skipByExclude = false;
         $handle = opendir($directory);
         if ($handle) {
             while (false !== ($file = readdir($handle))) {
             preg_match("/(^(([\.]){1,2})$|(\.(svn|git|md))|(Thumbs\.db|\.DS_STORE))$/iu", $file, $skip);
             if($exclude){
                 preg_match($exclude, $file, $skipByExclude);
             }
             if (!$skip && !$skipByExclude) {
                 if (is_dir($directory. DIRECTORY_SEPARATOR . $file)) {
                     if($recursive) {
                         $arrayItems = array_merge($arrayItems, directoryToArray($directory. DIRECTORY_SEPARATOR . $file, $recursive, $listDirs, $listFiles, $exclude));
                     }
                     if($listDirs){
                         $file = $directory . DIRECTORY_SEPARATOR . $file;
                         $arrayItems[] = $file;
                     }
                 } else {
                     if($listFiles){
                         $file = $directory . DIRECTORY_SEPARATOR . $file;
                         $arrayItems[] = $file;
                     }
                 }
             }
         }
         closedir($handle);
         }
         return $arrayItems;
     }
?>

本文链接:http://www./2012/11/php-scandir/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多