Php 图像是否以随机顺序加载?
提前感谢任何花时间回复的人。我真的很欣赏这个网站!我有一个函数,可以加载它在给定目录中找到的所有图像(见下文)。我试图解决的问题是,图像是以随机顺序加载的 我希望根据文件名按alpha顺序加载图像(例如,widget-1.jpg将在widget-2.jpg之前加载) 功能如下Php 图像是否以随机顺序加载?,php,Php,提前感谢任何花时间回复的人。我真的很欣赏这个网站!我有一个函数,可以加载它在给定目录中找到的所有图像(见下文)。我试图解决的问题是,图像是以随机顺序加载的 我希望根据文件名按alpha顺序加载图像(例如,widget-1.jpg将在widget-2.jpg之前加载) 功能如下 function get_images() { global $options; foreach ($options as $value) { if (get_settings( $value['id']
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 . ' />';
}
}
}
函数get_images()
{
全球美元期权;
foreach(期权为$value){
如果(获取_设置($value['id'])==FALSE){$$value['id']=$value['std'];}否则{$$value['id']=获取_设置($value['id']);}
}
如果($my_custom_images!==“”)
{
echo$my_自定义_图像;
}
其他的
{
$dir='wp content/uploads/';
$url=get_bloginfo('url')。/wp content/uploads/';
$imgs=array();
如果($dh=opendir($dir))
{
while(($file=readdir($dh))!==false)
{
如果(!is|dir($file)和&preg|u匹配(“/\(bmp|jpeg | gif | png |)jpg |)$/i”,$file))
{
数组推送($imgs,$file);
}
}
closedir($dh);
}否则{
die('无法打开'$dir');
}
foreach($imgs作为$idx=>$img)
{
$class=($idx==count($imgs)-1?'class=“last”:“”);
回声';
}
}
}
使用
$imgs
从目录中填充后,它们可能按目录顺序出现,也就是创建它们的顺序。编辑:一种解决方案是popen(“ls”)
并过滤文件名。我明白了,php没有这样的调用
无论如何,我同意第一个答案:在列表构建之后对其进行排序是最通用和可移植的解决方案。非常适合Yacoby。谢谢你的帮助!