1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php scandir 目录树 使用php scandir函数遍历文件夹目录和所有文件

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

时间:2019-07-30 05:56:59

相关推荐

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

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

$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 "

";

}

}

?>

以前的写法:

/**

* 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;

}

?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。