<MyRusakov.ru />

Профессия Web-разработчик

Профессия Web-разработчик

Этот комплект за 8 месяцев превратит Вас в Web-разработчика с нуля. Учиться достаточно 1 час в день.

Начнёте Вы с HTML, CSS и вёрстки сайтов. Потом перейдёте к программированию и JavaScript. Затем изучите PHP, MySQL, SQL, Python. Изучите Web-фреймворки Laravel и Django. Создадите 5 своих сайтов для портфолио.

Комплект содержит:

- 540 видеоуроков

- 110 часов видео

- 1205 заданий для закрепления материала из уроков

- 5 финальных тестов

- 7 сертификатов

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Вывод всех картинок из папки на PHP

Вывод всех картинок из папки на PHP

Если Вы делали сайт-визитку, то перед Вами могла встать задача по выводу какого-нибудь портфолио, каких-то работ, другими словами, изображений. Предположим, Admin-панели у сайта нет, а вот новые работы заказчик должен добавлять максимально легко, не залезая в исходный код. Вот в таких случаях Вам очень поможет данная статья, в которой мы реализуем вывод всех картинок из папки на PHP.

Привожу сразу весь PHP-код:

<?php
  $dir = 'images/'; // Папка с изображениями
  $cols = 3; // Количество столбцов в будущей таблице с картинками
  $files = scandir($dir); // Берём всё содержимое директории
  echo "<table>"; // Начинаем таблицу
  $k = 0; // Вспомогательный счётчик для перехода на новые строки
  for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы
    if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем
      if ($k % $cols == 0) echo "<tr>"; // Добавляем новую строку
      echo "<td>"; // Начинаем столбец
      $path = $dir.$files[$i]; // Получаем путь к картинке
      echo "<a href='$path'>"; // Делаем ссылку на картинку
      echo "<img src='$path' alt='' width='100' />"; // Вывод превью картинки
      echo "</a>"; // Закрываем ссылку
      echo "</td>"; // Закрываем столбец
      /* Закрываем строку, если необходимое количество было выведено, либо данная итерация последняя */
      if ((($k + 1) % $cols == 0) || (($i + 1) == count($files))) echo "</tr>";
      $k++; // Увеличиваем вспомогательный счётчик
    }
  }
  echo "</table>"; // Закрываем таблицу
?>

Разумеется, здесь идёт смесь представления и реализации, что, конечно, нехорошо, но данный скрипт Вы должны будете подстроить под свой движок. Возможно, у Вас и таблиц не будет. В остальном, думаю, проблем с понимаем, как вывести на сайт изображения из папки на PHP, возникнуть не должно.

Теперь для того, чтобы добавить очередное изображение на сайт, достаточно просто скопировать необходимую картинку в папку "images". Вот таким простым способом реализуется задача, которая, на первый взгляд, неразрешима без вмешательства в исходный код, базу данных, либо создания Admin-панели.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (21):

soffrick soffrick 19.10.2012 10:22:06

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

Ответить

soffrick soffrick 19.10.2012 10:22:27

array_shift($files); array_shift($files);

Ответить

cobus cobus 26.04.2013 07:43:00

<?php $dir = 'images/'; // Папка с изображениями $cols = 3; // Количество столбцов в будущей таблице с картинками $files = scandir($dir); // Берём всё содержимое директории echo "<table>"; // Начинаем таблицу $k = 0; // Вспомогательный счётчик для перехода на новые строки for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем if ($k % $cols == 0) echo "<tr>"; // Добавляем новую строку echo "<td>"; // Начинаем столбец $path = $dir.$files[$i]; // Получаем путь к картинке echo "<a href='$path'>"; // Делаем ссылку на картинку echo "<img src='$path' alt='' width='100' />"; // Вывод превью картинки echo "</a>"; // Закрываем ссылку echo "</td>"; // Закрываем столбец /* Закрываем строку, если необходимое количество было выведено, либо данная итерация последняя */ if ((($k + 1) % $cols == 0) || (($i + 1) == count($files))) echo "</tr>"; $k++; // Увеличиваем вспомогательный счётчик } } echo "</table>"; // Закрываем таблицу ?> Ребят отлично работает! Подскажите как выводить название картинки без разширения??? то есть без .jpg

Ответить

cobus cobus 26.04.2013 07:43:52

<?php $dir = 'antiques/Accessories/Clothing/'; // Папка с изображениями $ar=array(); $name = scandir($dir); $parts = pathinfo($img); $cols = 3; // Количество столбцов в будущей таблице с картинками $files = scandir($dir); // Берём всё содержимое директории echo "<table>"; // Начинаем таблицу $k = 0; // Вспомогательный счётчик для перехода на новые строки for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем if ($k % $cols == 0) echo "<tr>"; // Добавляем новую строку echo "<td width='220' align='center'>"; // Начинаем столбец $path = $dir.$files[$i]; // Получаем путь к картинке echo "<a href='$path'>"; // Делаем ссылку на картинку echo "<img src='$path' width='200' height='200' />"; // Вывод превью картинки echo "$name[$i]"; echo "</a>"; // Закрываем ссылку echo "</td>"; // Закрываем столбец /* Закрываем строку, если необходимое количество было выведено, либо данная итерация последняя */ if ((($k + 1) % $cols == 0) || (($i + 1) == count($files))) echo "</tr>"; $k++; // Увеличиваем вспомогательный счётчик } } echo "</table>"; // Закрываем таблицу ?>

Ответить

cobus cobus 26.04.2013 07:44:35

сделал вывод названия но не могу отрезать расширения у выводимых файлов! Есть варианты?

Ответить

Admin Admin 26.04.2013 11:20:11

Функцию basename() используйте.

Ответить

cobus cobus 26.04.2013 16:56:52

я не особо силен, знаю как отрезать у одно файла, но не пойму как у всех в каталоге, если можно пример?

Ответить

Admin Admin 26.04.2013 21:11:21

В цикле перебирайте все изображения в директории и у каждого в цикле обрезайте расширение.

Ответить

cobus cobus 26.04.2013 21:27:00

не силен! без примера не пойму! )

Ответить

Admin Admin 26.04.2013 22:31:27

http://myrusakov.ru/php-how-study.html

Ответить

Lomka Lomka 21.05.2013 11:08:30

Павел, как Вы решили проблему? не поделитесь? Столкнулась с аналогичной...

Ответить

Thomasan Thomasan 22.05.2013 00:17:16

Михаил, подскажите что нужно добавить в Ваш код, что бы помимо количества столбцов на странице было так же ограничение на количество изображений. Иными словами, переход между страницами и т.п. с ограничением в 30 выводимых картинок, т.к. при загрузке 1000 изображений крайне неудобно получается.

Ответить

Admin Admin 22.05.2013 10:37:11

Сделать ограничение в цикле на 30 картинок и всё. А первая выводимая картинка в зависимости от номера страницы.

Ответить

eelena eelena 03.12.2014 14:50:17

Здравствуйте, Михаил, У Вас очень полезный сайт для разработчиков. За Ваш труд спасибо. Михаил, просьба к Вам. Дополните, пожалуйста, эту статью еще двумя вариантами Вашего скрипта. Вариант второй: чтобы выводились изображения по N шт. (например по 50 штук) на странице с постраничной навигацией. Вариант третий: выборочный вывод картинок по имени файла, с постраничной навигацией. Эти варианты будут очень полезными Вашим читателем. Спасибо!

Ответить

eelena eelena 03.12.2014 17:09:37

Михаил, мы нашли решение вывода всех картинок из нужной директории в документ с постраничной навигацией. Но теперь появилась другая проблема. Как вывести картинки по-порядку. Файлы названы m1.jpg, m2.jpg, m3.jpg и т.д. до m100.jpg Но выводятся картинки не по-порядку, как это исправить?

Ответить

asler asler 08.02.2015 15:12:36

Здравствуйте, подскажите пожалуйста как ограничение количества прописать?

Ответить

yarik42 yarik42 19.02.2015 16:07:01

Здраствуйте, может подскажете, не могу подключить Ваш скрипт в страничку сайта. https://yadi.sk/d/21ffz6MjenF37 файл foto.php Есть такая цмс Ласто ,этот файл от неё. Автор цмс сказал,что вставляется через переменную echo Мне надо,чтобы Ваш скрипт вставился в страницу, пока получается ,что он вставляется выше страницы. За ранее спасибо за помощь.

Ответить

Dragon_9 Dragon_9 08.12.2015 12:38:05

Здравствуйте. Скажите пожалуйста. Закачиваю с помощью вашего кода картинки с русскими названиями из папки виндус. А код показывает кракозябры. Понятно, что вопрос встал в кодировки. Код на UTF-8 , а картинки в Win1251. Скажите не знаете как научить код понимать обе кодировки. (переименовать картинки в английский не приемлемо.)

Ответить

Dragon_9 Dragon_9 09.12.2015 10:10:16

Нашел команду http://php.net/manual/ru/function.iconv.php все типтоп.

Ответить

atlanta atlanta 31.07.2016 08:12:28

Михаил а вы могли бы выпускать курсы что бы они работали в Ubuntu ?

Ответить

andrew8210 andrew8210 11.09.2016 12:14:20

Михаил Здравия! Скрипт работает супер. Очень хороший. А как бы можно сделать чтобы к каждой картинке из сведений в базе данных могли быть реализованы подписи? Ну возможно просто использование сравнений названий и сопоставления названий по названиям и id в базе данных. Было бы здорово узнать подобное. Так как такой скрипт будет уже универсальным. Вообще ты меня спас этим скриптом. С Благодарностью Андрей. Жду дополнения к статье или новую статью о котором писал выше. Необходимо как воздух просто

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.