[英]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.