Сортировка изображений по возрастанию

Рейтинг: 1Ответов: 1Опубликовано: 27.10.2014

Добрый день. Имеется код, где нужно сделать сортировку:

 $dir = 'engine/modules/ashop/images/';
 $files=scandir($dir); $l=1;

 for ($i=0;$i<count($files);$i++){

 if (($files[$i] != ".") && ($files[$i] !=
 "..") && ($files[$i] != ".htaccess")){

     if ($l==79)
     { $l=1; echo <<<HTML </div>  <div class="item"> HTML;
     } echo <<<HTML   <div id="ach">

<input name="image" id="{$files[$i]}" value="{$files[$i]}" type="radio">

<label style="margin-top: -5px; margin-left: -4px;"for="{$files[$i]}"><img src="engine/modules/ashop/images/{$files[$i]}"></label>
             </div> 
 HTML; $l++; }

 }

И, в общем, пробовал делать sort($files; ksort, rsort - ничего не получается, возможно, этот способ не работает к изображениям. Изображения имеют как цифры, так и буквы (латиницей). Мне нужно сделать их по порядку от 1 и буквы по порядку от a.

Ответы

▲ 1

Если я правильно понял, то надо использовать "natsort" - http://php.net/manual/ru/function.natsort.php

     $image = array(
        'qwerty.jpg',
        '1.jpg',
        'afs.gif',
        '11.hpg',
    );
    natsort($image);
    print_r($image);

Результат

Array
(
    [1] => 1.jpg
    [3] => 11.hpg
    [2] => afs.gif
    [0] => qwerty.jpg
)