如何按顺序搜索文件夹图像


PHP - How to search folder images per order

我有下面的代码来搜索文件夹/images/的图像和回声。但是,每次刷新页面时,它都会以随机顺序显示图像。这些图像被命名为1、2、3、4等等。有什么办法使最后一个数字(例如:4)是第一个显示的数字,等等?

<?php
    $dirname = "images";
    $images = scandir($dirname);
    shuffle($images);
    $ignore = Array(".", "..");
    foreach($images as $curimg){
        if(!in_array($curimg, $ignore)) {
            echo "<img src='"". $dirname . '/' . $curimg ."'">" ;
        }
    }               
?>

这是由于您的洗牌。你在随机化你的数组。让我给你介绍:http://php.net/manual/en/function.array-reverse.php

<?php
    $dirname = "images";
    $images = scandir($dirname);
    $images = arsort(array_reverse($images, true));
    $ignore = Array(".", "..");
    foreach($images as $curimg){
        if(!in_array($curimg, $ignore)) {
            echo "<img src='"". $dirname . '/' . $curimg ."'">" ;
        }
    }               
?>

:

$dirname = "Images";
$images = scandir($dirname);
sort($images,SORT_NUMERIC);
krsort($images);
$ignore = Array(".", "..");
foreach($images as $curimg){
    if(!in_array($curimg, $ignore)) {
        echo "<img src='"". $dirname . '/' . $curimg ."'"> 'n" ;
    }
}

我一直在做什么:

没有sort();krsort(); i返回:

<img src="Images/1.png"> 
<img src="Images/10.png"> 
<img src="Images/11.png"> 
<img src="Images/2.png"> 
<img src="Images/3.png"> 
<img src="Images/4.png"> 
<img src="Images/5.png"> 
<img src="Images/6.png"> 
<img src="Images/7.png"> 
<img src="Images/8.png"> 
<img src="Images/9.png"> 

使用krsort和sort..我返回:

<img src="Images/11.png"> 
<img src="Images/10.png"> 
<img src="Images/9.png"> 
<img src="Images/8.png"> 
<img src="Images/7.png"> 
<img src="Images/6.png"> 
<img src="Images/5.png"> 
<img src="Images/4.png"> 
<img src="Images/3.png"> 
<img src="Images/2.png"> 
<img src="Images/1.png"> 

我想这就是你要找的。

http://www.php.net/manual/en/function.array-reverse.php

应该是正确的函数,而不是shuffle

更新:

最好直接通过scandir:

进行排序。
$images = scandir($dirname, SCANDIR_SORT_DESCENDING);

您可以尝试将图像名称加载到数组中,然后对数组进行排序,然后返回图像标记

<?php
$dirname = "images";
$files = scandir($dirname, 1); // using SCANDIR_SORT_DESCENDING PHP 5.4+ ONLY!
foreach ($files as $file) {
 if ($file !== '.' && $file !== '..') {
     echo "<img src='"". $dirname . '/' . $file ."'">" ;
}
}
?>