转载于ecshop https://www.shopex.cn/products/ecshop
<?php
// 该函数是获取对应文件夹下特定后缀的文件的路径
$extension = array('php','html','js');
$dir = array('exam');
// $from 查找文件的路径 $extension为需要路径文件的后缀名
function listFiles( $from = '.', $extension = array(), $md5_file = NULL)
{
//判断是否有值
if(!$from || !$extension)
return false;
if (is_array($from)) {//判断是否是个数组
$dirs = $from;
}elseif (is_dir($from)) {//is_dir指定的文件是否是一个目录($from是个目录名)
$dirs = array($from);//组成数组
}else{
return false;
}
$files = array();
// 使用while遍历数组(文件夹目录数组)
while( NULL !== ($dir = array_pop( $dirs)))
{ //opendir 若成功,则该函数返回一个目录流
if( $dh = opendir($dir)) //打开一个目录,读取它的内容
{ //readdir函数返回由 opendir() 打开的目录句柄中的条目.若成功,则该函数返回一个文件名
while( false !== ($file = readdir($dh)))
{
if( $file == '.' || $file == '..')
continue;
// 获得对应文件/文件夹的路径
$path = $dir . '/' . $file;
//函数清除文件状态缓存
clearstatcache();
// 又是一个目录,把目录放入$dirs里,让外面一层while继续向后继续
if( is_dir($path))
$dirs[] = $path;
else
//函数以数组的形式返回文件路径的信息,返回对应的后缀,如果在后缀列表里就把该路径保存起来
if (in_array(pathinfo($path,PATHINFO_EXTENSION), $extension)) {
if ($md5_file) {
// $files[$path] = md5_file($path);
$files[$path] = $path;
}else{
$files[] = $path;
}
}
}
closedir($dh);
}
}
return $files;
}
var_dump(listFiles($dir,$extension));
?>
?>
1431

被折叠的 条评论
为什么被折叠?



