Галерея изображений, как Getty Images, но без базы данных - PullRequest
1 голос
/ 17 февраля 2010

Я пытаюсь создать галерею изображений, например, когда вы щелкаете изображение в Getty Images

http://www.gettyimages.com/Search/Search.aspx?EventId=96396247&EditorialProduct=Sport

Изображение: http://tinypic.com/r/efffvs/6

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

База данных недоступна.

Спасибо за вашу помощь.

Laurence

Ответы [ 3 ]

1 голос
/ 17 февраля 2010

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

$root = "/home/www/files";

                if ( $handle = opendir("{$root}/altered/") )
                {
                        ## SME 05/21/2009 LOOP THROUGH THE DIRECTORY AND GET A LIST OF FILES THAT ARE NOT '.' OR '..'
                        while( ( $file = readdir( $handle ) ) != FALSE )
                        {
                                if( $file != '.' && $file != '..')
                                {
                                        //DO SOMETHING WITH FILE
                                }
                        }
                        closedir($handle);
                }

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

0 голосов
/ 17 февраля 2010

Вы можете использовать пример php.net , который дает для opendir() цикл по файлам в каталоге для построения массива и выполнения того, что вы просите.

Затем можно использовать read_exif_data(), чтобы прочитать описание файла изображения, заголовок и т. Д. Под изображением. Предполагается, что файлы изображений содержат данные exif для чтения, а установка php поддерживает exif.

0 голосов
/ 17 февраля 2010

Даже если у вас нет базы данных (т. Е. MySQL, PostgreSQL, ...) сервер доступен, вы сможете использовать базу данных SQLite: механизм встроен в PHP (через расширение, которое обычно включено) , и вся база данных сохраняется в виде файла.

Это звучит как простейшее решение, если вы уже знаете, как разрабатывать приложения PHP, и, как правило, делаете это, используябаза данных как хранилище данных.

(Конечно, вы также можете просто перебрать файловую систему, используя либо readdir, либо DirectoryIterator- но использование базы данных может упростить несколько вещей, например, хранение дополнительной метаинформации)


Для получения дополнительной информации:

...