Php 斯堪的纳维亚();2个文件夹->;显示1个结果

Php 斯堪的纳维亚();2个文件夹->;显示1个结果,php,Php,大家好, 我想扫描2个不同文件夹的内容,并在1个列表/数组中显示结果。这怎么可能 此脚本适用于1个文件夹: 我想知道这样的事情: 简单技巧: function getScanDir($firstFolder, $secondFolder) { return array_merge( scandir($firstFolder), scandir($secondFolder) ); } 函数只需合并两个数组(第一个和第二个文件夹的结果)并输出一

大家好,

我想扫描2个不同文件夹的内容,并在1个列表/数组中显示结果。这怎么可能

此脚本适用于1个文件夹:


我想知道这样的事情:
简单技巧:

function getScanDir($firstFolder, $secondFolder)
{
    return array_merge(
        scandir($firstFolder),
        scandir($secondFolder)
    );
}
函数只需合并两个数组(第一个和第二个文件夹的结果)并输出一个数组。由于输出基本数组(数字键),因此不会丢失任何数据

编辑

我忘记了输出数组中的目录名。现在更复杂了。在那里,我们可以使用另一个技巧:

function getScanDir($firstFolder, $secondFolder)
{
    return array_merge(
        createArrayDirectory($firstFolder),
        createArrayDirectory($secondFolder)
    );
}

function createArrayDirectory($folderName)
{
    return array_filter(scandir($folderName), function(&$value) use ($folderName) {
        return $folderName . '/' . $value;
    });
}
现在,您应该有一个包含来自两个不同目录的文件和目录的数组。

尝试使用数组:

<?php
    $ordners = ["images/", "pdf/"];

    foreach ($ordner as $order)
    {
        $alledateien = scandir($ordner);

        foreach ($alledateien as $datei) 
        {
            $dateiinfo = pathinfo($ordner."/".$datei); 
            $size = ceil(filesize($ordner."/".$datei)/1024); 

            if ($datei != "." && $datei != ".."  && $datei != ".DS_Store") 
                echo $dateiinfo['filename'].'<br>';
        }
    }
?> 


希望这有帮助。

将代码放入以目录名为参数的函数中。然后为每个目录名调用它。嗨,扎卡里亚!如何对结果进行排序?现在每个文件夹都是单独排序的。你想按字母顺序排序吗?是的!asort($alledateien,SORT_NATURAL | SORT_FLAG_CASE);不起作用,文件未排序。
function getScanDir($firstFolder, $secondFolder)
{
    return array_merge(
        createArrayDirectory($firstFolder),
        createArrayDirectory($secondFolder)
    );
}

function createArrayDirectory($folderName)
{
    return array_filter(scandir($folderName), function(&$value) use ($folderName) {
        return $folderName . '/' . $value;
    });
}
<?php
    $ordners = ["images/", "pdf/"];

    foreach ($ordner as $order)
    {
        $alledateien = scandir($ordner);

        foreach ($alledateien as $datei) 
        {
            $dateiinfo = pathinfo($ordner."/".$datei); 
            $size = ceil(filesize($ordner."/".$datei)/1024); 

            if ($datei != "." && $datei != ".."  && $datei != ".DS_Store") 
                echo $dateiinfo['filename'].'<br>';
        }
    }
?>