Intereting Posts
Класс 'Aws \ Common \ Aws' не найден cakephp Может ли CronJobs выполнить php, содержащий Javascript? Если нет, какие-либо альтернативы? Миграция Laravel не добавит внешний ключ Проблема OCI Connect в Windows Server 2012 с PHP версии 5.6.14 PHP cookie не будет установлен, пока страница не перезагрузит TWICE. Что происходит? Что лучше перенаправить, разрешение экрана или пользовательский агент? mysql соединение от демона, написанное на php Запрос MySQL для заказа родителями, затем дочерние места Лучшая практика создания абсолютных URL-адресов с помощью рамки Zend? Создание объектов с доктриной в отдельное пространство имен невозможно загрузить несколько изображений в папку для загрузки какова разница между представлением и задачей в joomla 2.5 и что такое структура url в joomla 2.5? Как узнать исполняемый исполняемый файл PHP? Датские персонажи заменены вопросительным знаком Использование X-Sendfile с Apache / PHP

Как получить изображения из папки по одному и отобразить на странице с помощью PHP

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

Related of "Как получить изображения из папки по одному и отобразить на странице с помощью PHP"

Вот базовая структура для перемещения каталога и выполнения чего-то с файлами изображений (данные 'images' – это каталог в той же папке вашего скрипта)

 $image_types = array( 'gif' => 'image/gif', 'png' => 'image/png', 'jpg' => 'image/jpeg', ); foreach (scandir('images') as $entry) { if (!is_dir($entry)) { if (in_array(mime_content_type('images/'. $entry), $image_types)) { // do something with image } } } 

Отсюда вы можете отправлять изображения непосредственно в браузер, создавать теги для страницы HTML или создавать миниатюры с функциями GD и сохранять их для отображения.

Я думаю, это может вам помочь!

 <? $string =array(); $filePath='directorypath/'; $dir = opendir($filePath); while ($file = readdir($dir)) { if (eregi("\.png",$file) || eregi("\.jpg",$file) || eregi("\.gif",$file) ) { $string[] = $file; } } while (sizeof($string) != 0){ $img = array_pop($string); echo "<img src='$filePath$img' width='100px'/>"; } ?> 

eregi устарел, поэтому вы можете использовать preg_match вместо

 <?php $string =array(); $filePath='directorypath/'; $dir = opendir($filePath); while ($file = readdir($dir)) { if (preg_match("/.png/",$file) || preg_match("/.jpg/",$file) || preg_match("/.gif/",$file) ) { $string[] = $file; } } while (sizeof($string) != 0){ $img = array_pop($string); echo "<img src='$filePath$img' >"; } ?> 

Посмотри на:

Чтобы изменить размер изображений непосредственно с PHP:

Вот один лайнер, основанный на другом ответе на аналогичный вопрос:

 // this will get you full path to images file. $data = glob("path/to/images/*.{jpg,gif,png,bmp}", GLOB_BRACE); // this will get you only the filenames $data= array_map('basename', $data); 

Первоначально я хотел использовать решение @Imran , но mime_content_type не был доступен, а сервер (на котором у меня есть нулевой контроль) использует старые версии Apache и Php.

Поэтому я немного изменил его, чтобы работать с расширением файла, и я даю его здесь.

 $imgDir = "images_dir"; // make sure it's a directory if (file_exists($imgDir)) { // select the extensions you want to take into account $image_ext = array( 'gif', 'png', 'jpg', 'jpeg' ); foreach (scandir($imgDir) as $entry) { if (! is_dir($entry)) { // no need to weed out '.' and '..' if (in_array( strtolower(pathinfo($entry, PATHINFO_EXTENSION)), $image_ext)) { // do something with the image file. } } } } 

Код проверен и работает.