Фотоальбом на 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";
 }
 

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

Понравился урок? Добавьте его к себе в закладки.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *