PHP opendir() 仅列出文件夹

2022-08-30 21:31:41

我想使用opendir()仅列出特定文件夹中的文件夹(即/www/site/)。我想从列表中排除 linux 文件夹列表上显示的“.”和“..”文件夹中的文件。我该怎么做?


答案 1
foreach(glob('directory/*', GLOB_ONLYDIR) as $dir) {
    $dir = str_replace('directory/', '', $dir);
    echo $dir;
}

您可以简单地将 glob 与 GLOB_ONLYDIR 一起使用,然后筛选生成的目录


答案 2

查看 PHP 文档的 readdir()。。它包括一个确切的示例。

为了完整性:

<?php
if ($handle = opendir('.')) {
    $blacklist = array('.', '..', 'somedir', 'somefile.php');
    while (false !== ($file = readdir($handle))) {
        if (!in_array($file, $blacklist)) {
            echo "$file\n";
        }
    }
    closedir($handle);
}
?>

只需更改到您的目录,即 ,然后更新以包含您不希望输出的文件或目录的名称。opendir('.')opendir('/www/sites/')$blacklist


推荐