Все доступные изображения в домене - PullRequest
0 голосов
/ 22 марта 2010

Я хотел бы создать галерею всех изображений, которые у меня есть в моем домене (моей корневой папке в Интернете)Все эти изображения находятся в разных папках.Какой лучший способ «просмотреть» все папки и вернуть изображения?

Ответы [ 4 ]

1 голос
/ 22 марта 2010

Используйте Поиск картинок Google с site: www.mydomainwithimages.com в качестве условия поиска, и это покажет вам все ваши проиндексированные изображения. Это должно быть все в вашем домене, если ваш файл robots.txt не исключает сканер Google.

1 голос
/ 22 марта 2010

Взгляните на opendir . Вы хотели бы написать функцию, которая вызывается в рекурсивном цикле, функция могла бы перебирать файлы в определенном каталоге, проверять расширение файла и возвращать файлы как массив, который вы бы объединили с глобальным массивом.

0 голосов
/ 22 марта 2010

Я бы дал PHP DirectoryIterator вращение.

Это не проверенный псевдокод, но он должен работать примерно так:

function scanDirectoryForImages($dirPath)
{
    $images = array();
    $dirIter = new DirectoryIterator($dirPath);
    foreach($dirIter as $fileInfo)
    {
        if($fileInfo->isDot()) 
            continue;
        // If it's a directory, scan it recursively
        elseif($fileInfo->isDir())
        {
            $images = array_merge(
                $images, scanDirectoryForImages($fileInfo->getPath())
            );
        }
        elseif($fileInfo->isFile())
        {
            /* This works only for JPEGs, oviously, but feel free to add other
            extensions */
            if(strpos($fileInfo->getFilename(), '.jpg') !== FALSE)
            {
                $images[] = $fileInfo->getPathname();
            }
        }
    }

    return $images;
}

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

// edit: Да, это в основном то же самое, на что указал огонь.

0 голосов
/ 22 марта 2010

Зависит от системы хостинга, вы можете использовать командную строку с exec или passthru

find /path/to/website/root/ -type f -name '*.jpg'

Если вы не можете сделать такую ​​вещь, как сказал огонь, опендир - это путь.

...