Фотоальбом на PHP

В этом уроке я покажу Вам, как можно сделать простой фотоальбом с использование PHP. С помощью скрипта, который мы напишем, очень просто управлять фотоальбомом. Каждый альбом будет храниться в отдельной папке. Скрипт использует названия папок, как названия альбомов. Для добавления нового альбома, я нужно всего лишь добавить новую папку.

Добавление альбома

Во-первых нужно создать новую папку в которой будут находиться все альбомы. Я назвал ее Foto. Далее нам необходимо в папке Foto создать папки с альбомами. Потом загрузить фотографии с соответствующие папки.

Поиск альбомов

Создаем новый документ и называем его albums.php. (Документ будет находиться в корне нашего сайта.) Так как мы все время должны использовать полный путь к фотографиям, нам нужно использовать следующий код.

$path  = getcwd();

Теперь мы должны получить название всех папок в папке Foto. Каждый файл из папок определяем в массив. Для каждого альбома создается уникальная ссылка.

			    foreach  (scandir("$path/foto") as $album) { 
					  if(is_dir($album)) { 
						  print  "<a href=\"view.php?album=$album\">"; 
						  print  str_replace('-',' ',$album); 
						  print  "</a>\n\n"; 
					  }
			    }
			    

В моем случае, массив будет в себя включать "exemple" и "photo".

				www.example.com/view.php?album=exemple
				www.example.com/view.php?album=photo
				

Если Вы используете сервер Apache, Вы можете использовать функцию mod_rewrite.

Показать фотографии

Создадим новый документ и назовем его view.php. В этом документе будут отображаться наши альбомы.

Нам нужно убедиться, что посетитель имеет переменную альбома, когда он перешел на страницу. Если нет такой переменной, перенаправляем посетителя обратно на страницу альбома, для выбора альбома. Также нам нужно убедиться, что переменная являеться безопасной для нашего сайта.

				$nasties =  array("/","\","$");
				$album =  str_replace($nasties,'',$_GET[ ' album ' ]); 
				if(!$album)  { 
					header("Location:  http://www.example.com/albums.php"); 
				}
				

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

			    $path =  getcwd(); 
			    foreach  (glob("$path/photos/$album/*.jpg") as $imgfile) { 
					print  "<img src='$imgfile' />\n";
			    }
			    

Вот и все. Теперь Вам просто нужно настроить стили под свой сайт и Вы получите простой фотоальбом на Вашем сайте.

Просмотров: 6403      Опубликовал: Евгений Фединчик      Дата: 29.03.2010 12:54:37
  • Понравился урок? Добавьте его к себе в закладки.

    Последние уроки категории:

    Сокращение PHP кода

    Вы задумывались когда — нибудь о том, что лишний и бесполезный код убивает ваше время разработки приложения/сайта. Хотя это и кажется мелочью, но когда такой мелочи становится много, то время, потраченное впустую, становится ценным. И так давайте посмотрим, что можно и нужно сокращать...

    Видимость переменных в PHP

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

    Как читать Rss ленты?

    Читалки и агрегаторы RSS используются для доступа, чтения и управления периодически-обновляемыми лентами RSS (или Atom), которые генерируются веб-сайтами. Эти ленты предоставляют доступ к последним материалам с этих сайтов.

    Установка и настройка PHP+Apache

    В этом уроке хотелось бы поднять очень интересную тему – Установка и настройка веб сервера PHP5 + Apache. В интернете довольно много различных инструкций по данной теме, но только вот в основном это копипаст, а не инструкция для человека, я же постараюсь объяснить все намного проще – на пальцах. Причина для установки локального вебсервера довольно много, например скорость выполнения и отладки скриптов, простота загрузки и модернизации контента и еще много чего.

    Как выбрать фреймворк

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

    Комментарии:

    • Сергей 03.05.2011 18:01:43
      вопрос функция $path = getcwd(); foreach (glob("$path/photos/$album/*.jpg") as $imgfile) { print "<img src='$imgfile' />\n"; } должна быть в отдельном файле?
      Ответить
      • admin 03.05.2011 18:13:12
        Эта часть кода, является примеров вывода картинкок из папки, которая лежит на сервере...Этот урок просто пример, который Вы можете усовершенствовать как захотите...
        Ответить
        • Сергей 03.05.2011 18:19:26
          Спасибо, если не сложно объясните какой код нужно вставить к примеру на главную что бы видеть альбом?
          Ответить
    • Неadmin 22.06.2011 08:56:37
      непонял я что то
      Ответить
      • admin 22.06.2011 10:35:44
        Здравствуйте! Что непонятного Вы напишите, мы попробуем Вас помочь.
        Ответить
    • DRed 24.11.2011 19:45:12
      А у меня кавычки распознает не правильно ( Что делать? -------------------------------
      Ответить
      • admin 25.11.2011 07:53:38
        Попробуйте их заикранировать или изменить тип ковычек
        Ответить
      • admin 25.11.2011 07:54:14
        Попробуйте их заикранировать или изменить тип кавычек
        Ответить
    • admin 25.11.2011 07:54:58
      Попробуйте их заикранировать или изменить тип кавычек
      Ответить
    • Осталось: 1000 символов.
      Сохранить комментарий Отправка комментария
    lessons
    downloads
    search
    hosting

    Ищите хороший и не дорогой хостинг?

    Хостинг avahost.ua
    VPS VDS - виртуальный выделенный сервер
    sistems
    RBK Money

    Обменник.ws
    Статистика HitUa