Я пытаюсь получить мое изображение слайдов для отображения в порядке номеров со следующим:Сортировка изображений по номеру в PHP
$image=array();
$img_folder = $params->get('path');
mt_srand((double)microtime()*1000);
if(is_dir($img_folder)){
krsort($file);
$imgs = dir($img_folder);
while ($file = $imgs->read()) {
if ((eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file)))
$image[] = "$file";
} closedir($imgs->handle);
print_r($image);
return $image;
}
Однако работа массива, но порядок выключен:
Массива ([0] => Slide1.png [1] => Slide10.png [2] => Slide11.png [3] => Slide12.png [4] => Slide13.png [5] => Slide14.png [ 6] => Slide15.png [7] => Slide16.png [8] => Slide17.png [9] => Slide18.png [10] => Slide19.png [11] => Slide2.png [12] => Slide20.png [13] => Slide21.png [14] => Slide22.png [15] => Slide23.png [16] => Slide24.png [17] => Slide25.png [18] => Slide26.png [19] => Slide27.png [20] => Slide28.png [21] => Slide29.png [22] => Slide3.png [23] => Slide30.png [24] => Slide31.png [25] => Slide4.png [26] => Slide5.png [27] => Slide6.png [28] => Slide7.png [29] => Slide8.png [30] => Slide9.png)
Если я ставлю natsort($image);
после $image[] = "$file";
порядок является правильным, но массив выключен:
Array ([0] => Slide1.png [11] => Slide2.png [22] => Slide3.png [25] => Slide4.png [26] => Slide5.png [27] => Slide6 .png [28] => Slide7.png [29] => Slide8.png [30] => Slide9.png [1] => Slide10.png [2] => Slide11.png [3] => Slide12.png [4] => Slide13.png [5] => Slide14.png [6] => Slide15.png [7] => Slide16.png [8] => Slide17.png [9] => Slide18.png [10 ] => Slide19.png [12] => Slide20.png [13] => Slide21.png [14] => Slide22.png [15] => Slide23.png [16] => Slide24.png [17] => Slide25.png [18] => Slide26.png [19] => Slide27.png [20] => Slide28.png [21] => Slide29.png [23] => Slide30.png [24] => Slide31.png) Мне нужно их заказать Slide1 - Slide30, но не так, как указано выше. Я мог бы изменить имена от числового (Slide1) до алфавитного (SlideA), но хотел бы сохранить это соглашение об именах. Есть ли способ сделать это без изменения имен изображений?
Этот слайд изображения - это «как» слайд-шоу.
'eregi' удаляется в php7. – Daan
попробуйте использовать natsort() –
Мы используем PHP-версию 5.4.14 на данный момент, потому что Joomla 3.4 не поддерживает PHP 7 в этой версии Joomla @ MuhammedM.- Я пробовал это, и он работает, но он не работает –