Лекции     Книги     Рефераты    
Диплом, курсовая на заказ

Пишем движок галлереи изображений. Часть 1.

news date мая.21.2008    categories Web-программирование > PHP    comments (1)

Начнем разработку одного из популярных сценариев – системы управлением галлереей картинок. В первой части мы напишем основу – вывод в браузер графических файлов из директории галлереи. Начнем с главной страницы.Html – шапка:

<HTML>
<HEAD>
<META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=windows-1251″>
<TITLE></TITLE>
</HEAD>
<BODY TEXT=”#000000″ BGCOLOR=”#FFFFFF”>
<table border=1 CellSpacing=0 CellPadding=0 Width=”100%” align=”center”>
<tr>
<td>
<a href=”index.php” mce_href=”index.php”>Главная</a>
</td>
</tr>
</table>

Теперь напишем систему навигации:

<table border=1 CellSpacing=0 CellPadding=0 Width=”90%” align=”center”>
<tr>
<td>
<?
print(‘|’);
foreach (glob(“photos_*”) as $filename) {
$name=file_get_contents(“name-cat/$filename.name”);
print “<a href=index.php?cat=$filename>$name</a> | “;
}
?>
</td>
</tr>
</table>

В нашем случае будут найдены все папки в корне, название которых начинается с photos_, и прочитаны их наименования из папки name-cat/имя каталога.name. Ссылка будет передавать параметр GET - скрипту.
Все папки, файлы и картинки будут создаваться из панели администрирования, которую мы сделаем позже.

Теперь напишем систему обработки параметра GET и отображения картинок:

<table border=1 CellSpacing=0 CellPadding=0 Width=”90%” align=”center”>
<tr>
<td>
<?php
$filename=$_GET['cat'];//Запись данных из GET в переменную
if($filename){
if ($handle = opendir($filename)) {//открывает папку, переданную переменной
while (false !== ($file = readdir($handle))) {//считывает все файлы в данной папке
if ($file != “.” && $file != “..”) {
echo “<a href=’big-$filename/$file’><img src=’$filename/$file’ width=150></a> “;//выводет всё на экран
}
}

closedir($handle);
}
}else{

?>
Все категории:<br>
<?
foreach (glob(“photos_*”) as $filename) {
$name=file_get_contents(“name-cat/$filename.name”);
print “<a href=?cat=$filename>$name</a><br>”;
}
print(‘<br><a href=”all.php” mce_href=”all.php”>Раскрыть все…</a>’);
}
?>
</td>
</tr>
</table>
</BODY>
</HTML>

Если будет передан параметр GET, то отобразятся все файлы в определенной папке, если нет, то пользователю будет предложено выбрать категорию, либо отобразить все картинки из всех категорий. При нажатии на картинку будет отображаться полный размер этой картинки, миниатюры которой будут создаваться при помощи других скриптов, основанных на библиотеке GD (рассмотрим в следующих частях).
Теперь напишем систему отображения всех картинок из всех категорий. Это не сильно будет отличаться от главной страницы, поэтому я просто приведу листинг файла all.php:

<HTML>
<HEAD>
<META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=windows-1251″>
<TITLE></TITLE>
</HEAD>
<BODY TEXT=”#000000″ BGCOLOR=”#FFFFFF”>
<table border=1 CellSpacing=0 CellPadding=0 Width=”100%” align=”center”>
<tr>
<td>
<a href=”index.php” mce_href=”index.php”>Главная</a>
</td>
</tr>
</table>
<table border=1 CellSpacing=0 CellPadding=0 Width=”90%” align=”center”>
<tr>
<td>
<?
foreach (glob(“photos_*”) as $filename) {
$name=file_get_contents(“name-cat/$filename.name”);
print “<a href=index.php?cat=$filename>$name</a> | “;
}
?>
</td>
<table border=1 CellSpacing=0 CellPadding=0 Width=”90%” align=”center”>
<tr>
<td>
<?php
foreach (glob(“photos_*”) as $filename) {

if ($handle = opendir($filename)) {
while (false !== ($file = readdir($handle))) {
if ($file != “.” && $file != “..”) {
echo “<a href=’big-$filename/$file’><img src=’$filename/$file’ width=150></a> “;
}
}
closedir($handle);
}

}
?>
</td>
</tr>
</table>
</BODY>
</HTML>

Как видно foreach (glob(“photos_*”) as $filename) открывает все каталоги и дальше производится обработка полученного материала с последующим выводом на экран.

На этом первая часть заканчивается. Во второй части мы будем писать систему оценки картинок.

Использованные функции:

glob — Находит файловые пути, совпадающие с шаблоном
opendir — Открыть каталог
readdir — Получить элемент каталога по его дескриптору
file_get_contents — Получить содержимое файла в виде одной строки

Продолжение следует >>

Обсуждения

1 комментарий к “Пишем движок галлереи изображений. Часть 1.”
  1.   Пишем движок галлереи изображений. Часть 2. by Онлайн - школа вебмастеров пишет:

    [...] Продолжение… Начало тут >> [...]

Добавить комментарий

Вы должны войти



© 2009 - 2010 | Webteach.ru | Образовательный портал