可能重复:
How to sort array of value by alpha bet in php using asort() function()
基本上,脚本从目录中读取图像,然后将它们输出到html。因此,只是尝试使这个非常好的脚本按字母顺序对图像进行排序。现在它对图像进行分类的方式非常随意
if ($handle = opendir($dir)) {
while (false!== ($file = readdir($handle))) {
sort($file);
$ext = strrchr($file,".");
echo "";
if(in_array($ext,$good_ext))
{
//do something with file
echo "<img src='images/".$modelname."/slider/".$file."'>";
}
else
{
echo "bad";
}
}
closedir($handle);
}
else
{
echo "$dir Directory does not exist!";
}
?>
答案 0 :(得分:0)
这应该这样做。
if ($handle = opendir($dir)) {
while (false!== ($file = readdir($handle))) {
$ext = strrchr($file,".");
echo "";
if(in_array($ext,$good_ext)) {
$files[] = $file;
}
}
closedir($handle);
sort($files);
//do what what you need with it
}
else {
echo "$dir Directory does not exist!";
}
?>
$ files将所有文件排序,就像您需要的那样。
答案 1 :(得分:0)
您可以使用natsort
示例
$img = "<img src='images/$modelname/slider/%s' />";
$imgExts = array("gif", "jpg", "jpeg", "png", "tiff", "tif");
$files = scandir(__DIR__);
natsort($files);
foreach($files as $file)
{
$urlExt = pathinfo($file, PATHINFO_EXTENSION);
if (in_array($urlExt, $imgExts)) {
printf($img,$file);
}
}