簡體   English   中英

用於顯示文件夾中圖像的PHP腳本

[英]PHP script that shows the images in a folder

這是一個顯示文件夾中圖像的腳本。 但有沒有辦法可以先顯示最新圖像? 而不是相反。

$images = glob('*.{gif,png,jpg,jpeg}', GLOB_BRACE); // formats to look for
$num_of_files = 2; // number of images to display

foreach($images as $image)
{
     $num_of_files--;

     if($num_of_files > -1) // this made me laugh when I wrote it
       echo "<b>".$image."</b><br>Created on ".date('D, d M y H:i:s', filemtime($image)) ."<br><img src="."'".$image."' style='width: 95%'"."><br><br>" ; // display images
     else
       break;
   }

您需要將圖像放入數組中,然后按上次修改后排序。

像這樣的東西:

$imagesToSort = glob('*.{gif,png,jpg,jpeg}');
    usort($imagesToSort, function($a, $b) {
    return filemtime($a) < filemtime($b);
});

glob()不關心哪個文件是第一個還是最后一個。 它所關心的只是文件名。 因此,您需要獲取所有圖像,然后您可以嘗試使用相反的字母順序來獲取它們:

$images = glob('*.{gif,png,jpg,jpeg}', GLOB_BRACE);

$count = count($images) - 1;
$toShow = 2; // how many images you want to show

for ($i = 0; $i < $toShow; $i++, $count--) {
    echo "<b>".$images[$count]."</b><br>Created on ".date('D, d M y H:i:s', filemtime($images[$count])) ."<br><img src="."'".$images[$count]."' style='width: 95%'"."><br><br>" ;
}

但是如果你按照時間順序想要它們,你將需要foreach()通過所有這些並按filemtime對它們進行filemtime 這個答案顯示了如何使用usort()的回調來完成它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM