Меня зовут Габриэль, и очень давно у меня возникла эта проблема. Я создал сайт, вы можете загрузить изображение в каталог на сервере, а затем изображения будут отображаться на сайте. Каждое изображение получает свое имя от количества изображений в папке, поэтому первое изображение называется «0» и, например, 137 получает «137» в качестве имени.Как сделать все изображения отображаемыми в том же порядке?
Я также сделал так, что последнее изображение отображается сначала, используя «array_reverse()». Вот фрагмент кода, используя для загрузки изображения:
<?php
error_reporting(0);
$files = glob("images/*.*");
$files = array_reverse($files);
for ($i=0; $i<count($files); $i++)
{
$image = $files[$i];
echo '<img src="'.$image.'" width="400px" height="300px">';
}
?>
К моей проблеме. Порядок, чтобы последние изображения отображались вверху, а самый старый внизу работает для первых 10 изображений (помните, что первое изображение называется 0). И затем 11: th и вверх отображаются в другом месте.
Как это сделать, чтобы изменить это? Большой для любого ответа.
Вы используете лексикографическую сортировку. Как строка, «11» предшествует «2». Вы * можете * добавлять имена файлов с символами «0», но я думаю, что более надежным решением было бы отслеживать метаданные файлов в базе данных. Каждый файл будет соответствовать записи в таблице, которая будет включать в себя путь для этого файла. Сортировка результатов из базы данных гораздо более строго типизирована и позволяет сортировать любое количество данных, которые вы собираете. – David
Хорошо, я проверю это, спасибо! –
Вы имеете в виду это? $ finalName = "0". $ existingFiles. ".". $ imageExt; –