Показать все изображения в папке без проверки на наличие файла - PullRequest
1 голос
/ 27 марта 2012

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

for($i=1; $i<=10; $i++)
{
 $filename = "/folder/$i.jpg";
 echo "
  <img title='$i' src='$filename'>
 ";
}

Предполагая, что я понятия не имею, сколько изображений в папке, и что я не хочу хранить эту информацию в базе данных, как бы вы отобразили все изображения с именами файлов, которые являются целыми числами, заканчивающимися на * 1004? * расширение?

Ответы [ 2 ]

4 голосов
/ 27 марта 2012

Я бы использовал RecursiveDirectoryIterator http://au.php.net/manual/en/class.recursivedirectoryiterator.php, если вы используете glob, вам придется обрабатывать рекурсию вручную.

$path = '/path/to/folder';

/* @var $file SplFileInfo */
foreach (new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($path)) as $file) {
    if ($file->isFile() 
        && in_array(strtolower($file->getExtension()), array('jpg', 'png', 'gif'))) {
        echo $file->getPathname()."\n";
    }
}

Обратите внимание: SplFileInfo :: getExtension доступен из PHP 5.3.6

2 голосов
/ 27 марта 2012
//path to directory to scan

$directory = "/folder/";

//get all image files with a .jpg extension.

$images = glob($directory . "*.jpg");

UPDATE ссылка: http://php.net/manual/en/function.glob.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...