使用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; 
} 
?> 
 
 
 |