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