php中哪个函数可以取得某目录下的所有文件名?

2025-03-21 23:31:17
推荐回答(5个)
回答1:

没有这样的函数,只能自己实现,下面是我常用的,这个不仅会获取到当前目录下的所有文件,而且还会遍历所有子文件夹下的文件。

 function read_all_dir ( $dir )
    {
        $result = array();
        $handle = opendir($dir);
        if ( $handle )
        {
            while ( ( $file = readdir ( $handle ) ) !== false )
            {
                if ( $file != '.' && $file != '..')
                {
                    $cur_path = $dir . DIRECTORY_SEPARATOR . $file;
                    if ( is_dir ( $cur_path ) )
                    {
                        $result['dir'][$cur_path] = read_all_dir ( $cur_path );
                    }
                    else
                    {
                        $result['file'][] = $cur_path;
                    }
                }
            }
            closedir($handle);
        }
        return $result;
    }
?>

回答2:

以下是来自手册的两个例子,希望对你有帮助,对于 php5 来说,使用 scandir 会简单点。

$dir = '/tmp';
// example1 php5
$files1 = scandir($dir);
print_r($files1);
// example2 php4 | php5
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files2[] = $filename;
}
print_r($files2);
/* 显示
Array(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
*/

回答3:

glob,百度一下这个函数

回答4:

有 遍历目录

回答5:

glob还有scandir