繁体   English   中英

PHP - 如何按订单搜索文件夹图像

[英]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(); 我回来:

<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和排序..我回来:

<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

应该是正确的功能而不是随机播放

更新:

更好的方法是直接通过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 ."\">" ;
}
}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM