图像按随机顺序加载?

时间:2009-12-11 17:54:04

标签: php

提前感谢任何需要时间回应的人。我非常感谢这个网站!我有一个函数加载它在给定目录中找到的所有图像(见下文)。我试图解决的问题是图像是以随机顺序加载的。

我想根据文件名以alpha顺序加载图片(例如,widget-1.jpg会在widget-2.jpg之前加载)。

功能如下......

function get_images()
{
global $options;
    foreach ($options as $value) {
    if (get_settings( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; } else { $$value['id'] = get_settings( $value['id'] ); }
}
if($my_custom_images !== "")
{
echo $my_custom_images;
}
else
{
$dir = 'wp-content/uploads/';
$url = get_bloginfo('url').'/wp-content/uploads/';
$imgs = array();
    if ($dh = opendir($dir)) 
    {
    while (($file = readdir($dh)) !== false) 
        {
        if (!is_dir($file) && preg_match("/\.(bmp|jpeg|gif|png|jpg|)$/i", $file)) 
            {
                array_push($imgs, $file);
            }
        }
        closedir($dh);
    } else {
        die('cannot open ' . $dir);
    }

    foreach ($imgs as $idx=>$img) 
    {
        $class = ($idx == count($imgs) - 1 ? ' class="last"' : '');
        echo '<img src="' . $url . $img . '" alt="' .$img . '"' . $class . ' />';
    }
    }
    }

2 个答案:

答案 0 :(得分:2)

从目录

填写后,在$imgs上使用sort()

答案 1 :(得分:0)

它们可能出现在目录顺序中,按其创建顺序排序。编辑:一个解决方案是popen ("ls")并过滤文件名。我看到,php没有这样的调用。

无论如何,我同意第一个答案:在构建列表后对列表进行排序是最通用和最便携的解决方案。