Webmaster

Скрипт галереи на PHP

Мне часто бывает нужен простой как дверь скрипт галереи на PHP. Что-бы можно было тупо скинуть в папку с картинками, и он работал. Без MySQL. Без сложной закачки картинок через админку. Большая редкость такой скрипт. Либо всякие монстры, которые по размеру и количеству файлов легко переплюнут средний сайт. И тоннами ненужных функций. Или с заморочками всякими нехристианскими.

Нашел скрипт от Baglan Dosmagambetov. Он просто создавал и выводил thumbnail. Все. Я его немножко подправил, что-бы можно без проблем сделать include() в любую страницу сайта, и чтобы показывал галерею постранично. И еще настройки кой какие добавил. Ура. Теперь у меня есть очень простой скрипт галереи на PHP.

Скрипт не подойдет для сайтов с большой посещаемостью. Но для среднего проекта - в самый раз.

Инструкция:

Закачиваете в папку где картинки лежат. Все. При желании, сделайте include() в любую вышестоящую страницу. Чтобы уменьшить нагрузку на сервер, можно поставить права 777 на эту папку.

Настройки:

Можно изменить кое-какие сеттинги в gal.php

//SETTINGS SETTINGS SETTINGS</p>

<p>define('WIDTH',200);               &amp;amp;amp;lt;strong&amp;amp;amp;gt; // ширина thumbmail&amp;amp;amp;lt;/strong&amp;amp;amp;gt;
define('HEIGHT',200);               &amp;amp;amp;lt;strong&amp;amp;amp;gt; // длинна thumbnail&amp;amp;amp;lt;/strong&amp;amp;amp;gt;
define('EXT','.tmb');                &amp;amp;amp;lt;strong&amp;amp;amp;gt;// разрешение thumbnail&amp;amp;amp;lt;/strong&amp;amp;amp;gt;
define('IMAGES_PER_PAGE',10);            &amp;amp;amp;lt;strong&amp;amp;amp;gt;// количество thumbnail на странице&amp;amp;amp;lt;/strong&amp;amp;amp;gt;
define('IMAGES_PER_ROW',2);           &amp;amp;amp;lt;strong&amp;amp;amp;gt; // количество thumbnail в одном ряду&amp;amp;amp;lt;/strong&amp;amp;amp;gt;</p>

<p>&amp;amp;amp;lt;strong&amp;amp;amp;gt;//цвет фона в RGB thumbnail&amp;amp;amp;lt;/strong&amp;amp;amp;gt;
define('R',255);
define('G',255);
define('B',255);</p>

<p>//SETTINGS SETTINGS SETTINGS

Желательно подключить примерно такой CSS:

.gallery_content {text-align:center;}
.gallery_content a img {border:0px; margin:3px;}
.gallery_navigation {text-align:center;}
.gallery_navigation a {margin-left:5px;}

Скачать Simple Gallery PHP

(!) Update: Добрый человек Vo, предлагает исправленную версию, которая работает с include.

Update:

Что-бы работало с Wordpress и прочими mod_rewrite, замените строку

parse_str($QUERY_STRING);

на:

$PHP_SELF=$_SERVER['REDIRECT_URL'];
parse_str($_SERVER['REDIRECT_QUERY_STRING']);

Кстати, галерея на flash.

Оцените статью
  • Badmaestro

    Хм...Полезная штука, жаль, что слишком простенькая %)

  • oli

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

  • Graf

    Нужно поставить права 777 на эту папку.
    Или на сервере не установлена библиотека для обработки картинок.

  • Дмитрий

    таже самая проблема как и у oli
    как решить?

    если можно ответьте на е-mail

  • Systemer

    К сожалению это ещё и в Фоксе не
    работает, причем ни полноразмерных,
    ни тумбов. ;)

  • Oleg

    Нормально всё работает http://nicebabyshop.ru/

  • Руслан

    У кого при "include" не отображаются картинки, у меня было так пока я не переместил страницу в которую вставляю "include", в папку с картинками. Теперь у меня обе страницы(gal.php и сама страница куда вставлена галерея в одной папке).
    "Oleg подскажи как сделать , что бы увеличенная картинка не открывалась в другом окне, а выходила на передний план как у тебя ?

  • Oleg

    Там какой-то jquery плагин. Посмотри исходный код страницы - всё сразу будет понятно. Картинку можно открыть в новом окне, если щелкнуть на неё правой клавиши мышки и выбрать соответствующее меню.

  • Anonymous

    Друзья, неужели никто не разрешил траблу с инклюдом?

  • autonip

    Не получается через инклюды заставить работать. Не выводит превьюшки и все тут. При переходе на полное изображение все в порядке. Ну посоветуйте уже что-нибудь чтоли :)

  • autonip

    PS: права на папку ставил, библиотека стопудово работает (ибо без инклюдов превьюшки выводятся). Но ни в какую не хочет работать ни на денвере, ни на серваке...

  • Anonymous

    да, при инклюде, предпросмотровые картинки не выводятся. классный скрипт, но вот этот баг сводит все ожидания на нет ((( поможите

  • Вася

    При инклуде в другую страницу пропадают тамбснэйлы. Чё делать, Диман?

  • Anonymous

    Вася, та же ерунда.. Как бороться??

  • Dio

    Не работает! Отцы, выручайте же скорее ))). Появляются только ссылки на изображения.

  • g01berg

    Да, что-то не то при include в другую страницу... Как бы поправить? =)

  • g01berg

    А если поставить права 777 на папку с картинками, то ошибка:
    "Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request."

  • Vo

    Короче тут можно скачать поправленный скрипт, работающий с include http://photo-vo.com/download/g...

  • Oleg

    В 153 строчке надо тоже добавить переменную $popravka, а то не работает при инклуде
    Это
    [php]echo "";[/php]

    меняем на это:
    [php]echo "";[/php]

  • Oleg

    Блин парсер съел все
    Вообщем в 153 строчке надо добавить $popravka

  • Дима

    Ошибка в скрипте ... лажа выходит

  • Vo

    Решение траблы с Include

    Если наш скрит называется gal.php

    меняем
    echo "";

    на
    echo "";

  • Костя

    можно ли к немй коментарии прикрутить так то всё работает но коментарии

  • мимо_шел

    нашел.
    в цикле вывода картинок
    нужно {$to=count($files);} вместо {$to=count($files)-1;}
    и далее
    $file=$files[$i-1]; вместо $file=$files[$i];

  • мимо_шел

    Обнаружил багу - скрипт пропускает первую картинку. Для галереи из N файлов выдает в результате N-1 картинку, первой нет. Попробую поправить сам, но вообще и автору тоже ;)

  • Женя

    Добрый день. Скачал скрипт загрузил на сервер, загружаю страницу, а там картинки не отображаются, Пишет изображение 1, 2 и т.д. Помогите пожалуйста

  • Александр

    Спасибо за скрипт, давно искал...

  • Сергій

    та сама проблема виводить назви картинок, а не зображеня. в 153 стоці є $popravka, що робити не понятно, поможіть пліс

  • Сергій

    попробував окремо скріпт процює, а при виводі через include не працює, що делать????

  • Anonymous

    Скрипт читает фотки из подкаталогов?

  • Viktor

    Спасибо за скрип. Уже собирался сам писать )

  • Anonymous

    ребят как его в html интегрировать подскажите плз а то я с пхп почти не дружу

  • Koks

    Где в 153 строчке вставить $popravka после какого слова?

  • Олег

    У меня уже отредактированный срипт под свои нужды.

    Так что строчка может быть и не 153, может немного ниже. Там надо найти <a href='small заменить на <a href='".$popravka."small и в той же строке <img src='gal.php? на <img src='".$popravka."gal.php?

  • ThAD

    На предпоследней странице теряется ссылка «Next →». Подскажите, пожалуйста, как это исправить?

  • ThAD

    Отбой, решил.
    После if в 172-ой строке добавил else { if($to<count($files)-1) {echo "   Next →";} }
    Решение кривое, но рабочее.

  • An

    Перепробывал все варианты, всё равно тумбы не работают. Кто может дать скрипт, который точно работает?

  • An

    Поменял в 153 строке
    echo "";
    на
    echo "";
    Где "gal/gal.php" путь к php-скрипту и всё зароботало. Костыль конечно, но результат есть.

  • vlad

    народ, все круто, спс за галерею, но есть один вопрос.. на денвере картинки выводятся по порядку, но когда заливаю на сервер все идет как попало.. может кто нить знает как решить?

  • vlad

    добавил на 130 строке sort($files); и все ок))

  • 63pHc

    Тумбы так и не заработали, скиньте кто нидь рабочий скрипт плз
    433099411

  • thank

    мда
    производительности бесплатного хостинга не хватает для этого срипта))
    http://elited.hut2.ru/bitie-au...

  • Александр

    У меня миниатюры не показывает. ссылки организованы таким образом - ?page= имя страницы.