scandir() - > 2个文件夹 - >显示1结果

时间:2016-02-03 23:22:17

标签: php

大家好,

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

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

<?php
    $ordner = "images/";
    $alledateien = scandir($ordner);

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

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

我想知道这样的事情:

<?php
$ordner = "images/" AND "pdf/";
...

感谢您的支持!
托马斯

2 个答案:

答案 0 :(得分:1)

简单的技巧:

   error: no matching function for call to ‘jet_smooth_point_set(std::vector<CGAL::Point_3<CGAL::Epick> >::iterator, std::vector<CGAL::Point_3<CGAL::Epick> >::iterator, const unsigned int&)’
   CGAL::jet_smooth_point_set(points.begin(), points.end(), nb_neighbors);

   jet_smooth_point_set.h:177:1: note: candidate: template<class Concurrency_tag, class InputIterator, class PointPMap, class Kernel, class SvdTraits> void CGAL::jet_smooth_point_set(InputIterator, InputIterator, PointPMap, unsigned int, const Kernel&, unsigned int, unsigned int)

   note:   candidate expects 7 arguments, 3 provided
   CGAL::jet_smooth_point_set(points.begin(), points.end(), nb_neighbors);

函数只合并两个数组(第一个和第二个文件夹的结果)并输出一个数组。由于scandir()输出基本数组(数字键),因此不会丢失任何数据。

修改

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

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

现在,您应该有一个包含来自两个不同目录的文件和目录的数组。

答案 1 :(得分:0)

尝试使用数组:

<?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>';
        }
    }
?> 

希望这有帮助。