学新通技术网

用PHP遍历目录下的全部文件

Luke 3432 1
用PHP遍历目录下的全部文件
/**
 * 遍历获取目录下的指定类型的文件
 * @param $path
 * @param array $files
 * @return array
 */
function getfiles($path, $allowFiles, &$files = array())
{
    if (!is_dir($path)) return null;
    if(substr($path, strlen($path) - 1) != '/') $path .= '/';
    $handle = opendir($path);
    while (false !== ($file = readdir($handle))) 
    {
        if ($file != '.' && $file != '..') 
        {
            $path2 = $path . $file;
            $pathName = ltrim($path2,'.');
            if (is_dir($path2)) 
            {
                getfiles($path2, $allowFiles, $files);
            } 
            else 
            {
                if (preg_match("/\.(".$allowFiles.")$/i", $file)) 
                {
                    $files[] = array(
                        'url'=> $pathName,
                        'mtime'=> $file
                    );
                }
            }
        }
    }
    return $files;
}


本文出至:学新通技术网

标签: