如何使用scandir(或其他方法)按字母顺序对目录结果进行排序?

时间:2012-12-12 20:15:49

标签: php arrays sorting readdir scandir

根本不熟悉PHP。我使用来自另一个站点(我没写过)的旧代码为客户端创建CMS。问题是,此处的目录结果不按字母顺序返回。我读过scandir会这样做,而readdir则不会。我也知道数组或任意数量的排序函数也可以工作......我只是不知道该怎么做:)任何帮助都会非常感激。

<select name="image1[<?print($i);?>]">
<option value="none.gif">no photo available</option>
<?
$handle = opendir($art_image);
while ($file = readdir($handle)) {
    if ($file !="." && $file !="..") {
        option($file,$row["image1"]);
    }
}
?>
</select>

3 个答案:

答案 0 :(得分:1)

<select name="image1[<?print($i);?>]">
<option value="none.gif">no photo available</option>
<?

while ($item = scandir($art_image, SCANDIR_SORT_DESCENDING)) 
{
    if ('.' !== $item[0]) // skip . .. and hidden files all in one swoop
    {
        option($item, $row['image1']);
    }
}

?>
</select>

答案 1 :(得分:0)

while ($file = scandir($art_image)) {
...

那应该为你做。 scandir无需处理。

答案 2 :(得分:0)

您只需使用scandir,然后使用sort()

对数组()进行排序