[英]scandir() -> 2 folders -> show 1 result
大家好,
我想掃描2個不同文件夾的內容,並以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/";
...
謝謝您的支持!
托馬斯
簡單技巧:
function getScanDir($firstFolder, $secondFolder)
{
return array_merge(
scandir($firstFolder),
scandir($secondFolder)
);
}
函數僅合並兩個數組(第一個和第二個文件夾的結果)並輸出一個數組。 由於scandir()
輸出基本數組(數字鍵),因此不會丟失任何數據。
編輯
我忘記了輸出數組中的目錄名稱。 現在更復雜了。 在那里,我們可以使用另一個技巧:
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>';
}
}
?>
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.