Как вывести изображения в порядке возрастания: 01.jpeg 02.jpeg 03.jpeg... ?

интернет программирование php html

Есть код, но изображения выводятся в хаотичном порядке

<?php
$directory = "gallery"; //название папки с изображениями
$allowed_types=array('jpg','jpeg','gif','png'); //разрешеные типы изображений
$file_parts=array();
$ext='';
$title='';
$i=0;
//пробуем открыть папку
$dir_handle = @opendir($directory) or die("There is an error with your image directory!");
while ($file = readdir($dir_handle)) //поиск по файлам
{
if($file=='.' || $file == '..') continue; //пропустить ссылки на другие папки
$file_parts = explode('.',$file); //разделить имя файла и поместить его в массив
$ext = strtolower(array_pop($file_parts)); //последний элеменет - это расширение
$title = implode('.',$file_parts);
$title = htmlspecialchars($title);
$nomargin='';
if(in_array($ext,$allowed_types))
{
if(($i+1)%4==0) $nomargin='nomargin'; //последнему изображению в ряде присваевается CSS класс "nomargin"
echo '
<img class="pic" src="photo/corp/'.$directory.'/'.$file.'" width="600" />';
$i++;
}
}
closedir($dir_handle); //закрыть папку
?>
Ответы:
по ссылке, ну и с остальными функциями ознакомьтесь...
Весь ваш код стоит переписать:
$directory = "gallery"; //название папки с изображениями
$allowed_types = array('jpg','jpeg','gif','png'); //разрешеные типы изображений
if (!file_exists($directory) || !is_dir($directory))
{
die("There is no images directory");
}
$files = scandir($directory);
sort($files);
foreach ($files as $file)
{
if ($file != '.' && $file != '..')
{
$file_data = pathinfo($file);
if (in_array(strtolower($file_data['extension']), $allowed_types))
{
echo '<img class="pic" src="photo/corp/'.htmlspecialchars($directory).'/'.htmlspecialchars($file).'" width="600" />';
}
}
}


9 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.