Все для Веб мастера и создания сайта

Блог о дизайне и программировании. Помощь разработчикам сайтов и веб дизайнерам. Статьи по программированию, оптимизации и раскрутке сайта. Все для Adobe Photoshop, уроки графики и веб дизайна, иконки, шрифты, исходники и.т.п

На сегодняшний день музыкальные магазины online, наподобие Musikload[1], становятся все более распространенными и пользуются бешенной популярностью. В этой статье мы расскажем как можно читать мета-информацию mp3-файла средствами PHP, что поможет вам в создании каталога музыки. Это очень просто, поддержка базы данных не нужна.

Откуда знает MP3-Player, например Winamp информацию об исполнителе или названии композиции, которую он проигрывает? Может быть, он сам каким-то чудным образом узнает название песни и альбома? Нет, здесь нет никакого волшебства! Подобная информация содержится в самих файлах. Музыкальные файлы других форматов таких как WMA или Ogg Vorbis также содержат подобную информацию, но здесь речь пойдет о файлах в формате mp3.
Дальше »

PHP.Первые шаги. Действительно легкая смена дизайна

NAS, Webscript.ru

Предупреждение

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

После прочтения статьи вы сможете использовать только один файл для внесения в него изменений дизайна и навигации. Содержимое сайта при этом не нужно будет даже трогать!

Легкая смена дизайна

Итак, у вас уже что то есть. Какой то информационный web проект. Серия статей, он-лайн книга, просто страничка.
Хорошо, если у вас все в порядке с проектом на диске. Каждый раздел в своем каталоге, скрипты отлажены и жужжат, дизайн закреплен навеки.
У меня такого не было.
То есть порядок то был, а вот с дизайном - полный завал. Плюс я постоянно что то прикручиваю, балуюсь с содержимым. Что же я сделал?
Мне надо было : легко и безболезненно менять дизайн, навигацию, ссылки и баннеры, вставлять новые разделы и все это должно проходить с минимальными телодвижениями .
Я вовсю использовал SSI. Вы знаете что это такое ? Грубо говоря, у меня был шаблон хтмл, в него я вставлял меняющиеся элемнты типа меню навигации, баннеров и так далее. Но само содержание этого уже наполненного шаблона - не менялось! То есть для каждой странички в шаблон вставлял информацию, и сохранял на сервере. После этого, чтобы изменить цвет таблицы, мне пришлось бы заново делать шаблон, выдергивать информацию из старого и вставлять в новый. Можно, конечно, использовать CSS, фреймы, что там еще. Но меня все это по разным причинам не удовлетворяло
Еще, как выход, мне мерещилось использование программы, которая заменяла бы во всех файлах одни строки на другие. Ни то, господа, ни то! Если что то сложное в плане хтмл, да еще написанного вручную, то все это адский труд. Только не подумайте, что я писал на хтмл.
Бывало, конечно, несколько строк накропаю, но я же ленивый. За меня все делало FrontPage 98. Охаиваемое всеми чудо.
Что же делать с этой кучей файлов с расширением *.shtml и невозможностью сменить дизайн так, то бы это не отозвалось болезненным перелопачиванием всей этой кучи? Я ленив, и в своих поисках я набрел на лучшее решение - PHP.
Возможность, которую он дает - один хтмл-шаблон плюс файлы только с содержимым раздела я очень быстро оценил!
Быстренько и монотонно освободив свои shtml ки от разных табличек, вставок, картинок, и другой мутотени я вытер пот со лба. Убрал расширения файлов. Дело в том, что мой хостер хитро сделал-поздней ночью их скрипт вставляет во все файлы с расширением *.html код баннера.
Вот оно ! Стройный ряд файлов выстроился перед моим взором. Умытые, похудевшие и почистившиеся они требовали новой одежки-дизайна.
Я сваял новый шаблон: index.php3.

<HTML>
<HEAD>
</HEAD>
<BODY>
<?php
function foo ($in) {
< !–если не вызывается просто index.php3 то происходит вставка вызываемого файла–>
if ($in != “”) {$out=$in;}
< !– если происходит вызов index.php3 без имени файла, то по умолчанию, вставляется файл main–>
else {$out=”main”;} return $out;}?>

<!–Мой дизайн и навигация–>

<!–Вызов функции с аргументом - именем файла, запрашиваемым пользователем–>
<?php include (foo($QUERY_STRING)); ?>

<!–Мой дизайн и навигация–>

</BODY>
</HTML>

Теперь я вызываю странички так
http://myserver.ru/index.php3?news
http://myserver.ru/index.php3?links
http://myserver.ru/index.php3?about

А можно и просто
http://myserver.ru/?news
http://myserver.ru/?links
http://myserver.ru/?about

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

http://myserver.ru/index.php3?news.shtml
http://myserver.ru/index.php3?links.txt
http://myserver.ru/index.php3?about.htm

Конечно, если надо вносить изменения в содержимое (новости подновить, новый линк добавить), то приходится открывать файлы news и link и уже там что-то менять.

Минусы подхода:

1) Таги <meta> и <title> распространяются на все страницы раздела, объединенных общим index.php3.
2) Если поисковая система некорректно обрабатывает сайты, использующие PHP, то пользователь может и не найти Ваш сайт.

Введение в PHP

“CHIP / Россия”

Как и любую вещь в этом мире, сайт можно автоматизировать. И не просто автоматизировать, а дать самому себе возможность, больше никогда не заглядывать в его FTP-недры, и лишить процесс администрирования веб-сайта большинства затрачиваемых физических усилий. Язык PHP в дает, просто, огромные возможности по созданию “движка” для веб-сайта, и при этом, его синтаксис очень прост. Впрочем, обо всем по порядку.
Что, собственно, требуется для создания хорошей системы администрирования веб-сайта? Совсем немного – сервер, который бы разрешал использование PHP-скриптов, и знание самого языка PHP, на котором мы и будем писать “информационный двигатель”.
Так же, желательно иметь в своем распоряжении сервер Apache (http://apache.org), и интерпретатор PHP (http://www.php.org) - и то и другое, распространяется совершенно бесплатно, и свободно доступно для загрузки из сети.
Итак, начнем?
Введение в PHP

Сам язык программирования PHP, без интернета существовать не может. Он попросту не нужен на обычном компьютере – второй Windows на нем не напишешь, и ничего вразумительного и полезного – тоже. Разве что, чат для внутренней сети – это да. Но за то в интернете, PHP считается одним из самых мощных языков, который стоит на одной линейке, с тем же Perl’ом.
PHP является удобным, и в то же время достаточно простым языком. И уж если вам доводилось писать программы на С или C++, c изучением PHP у вас и вовсе не возникнет трудностей, так как синтаксис очень похож.
Любая (даже самая маленькая) программа на PHP, должна начинаться с оператора

<?php
и заканчиваться оператором
?>

Если эти операторы не будут проставлены в начале и конце программы, сервер который будет обрабатывать запросы, не распознает код.
В PHP, как и в любом другом языке программирования, присутствует возможность вставки комментариев – без этого никак. Комментарии порой выручают самого же разработчика, не говоря уже о пользователях, которые возможно, будут конфигурировать готовую программу - они не дают запутаться в структуре программного кода, и делают его более читаемым. Текст комментариев в программах на PHP существует двух видов – однострочный, и многострочный. Соответственно, существует и два типа указания комментариев. Пример:
/* многострочный
комментарий */
и
// однострочный комментарий
В комментариях может находиться любой текст, будь то даже код PHP, или “китайские колы”. В любом случае – сервер при обработке программы опускает все строки, что отделены символами комментариев.
Переменные в программах на PHP, отделяются символами $. Например, в программе:

$name = “Мир”;

переменная $name будет равна значению Мир. А вывести значение переменной на экран можно двумя способами:

echo $name;

и

print $name;

Ну, а код программы, которая выводила бы что-нибудь, вроде “Привет Мир!”, будет выглядеть вот так:

$hello = “Привет”;
$spacer = ” “;
$name = “Мир”;
$din = “!”;
echo $hello;
echo $spacer;
echo $name;
echo $din;

Причем, как вы, наверное, уже догадались, имена переменных вещь совершенно не подчиненная логике – например, имя переменной $din совершенно не соответствует ее значению. Главное, не перепутать имена переменных при построении программы.
Основными элементами любой программы, являются переменные. Их иногда бывает даже больше чем исполняемого кода программы. А когда делается очень большой скрипт, который содержит большое количество файлов, часто приходится использовать одну и ту же переменную в каждом файле. А если значение этой переменной вдруг понадобится изменить, тогда придется перелопачивать каждый файл, редактируя его? Неплохо было бы, если бы можно было вывести все переменные в один конфигурационный файл, не так ли? Так и сделаем. На примере нашей программы, вынесем все переменные в файл configuration.php3. А в текущем файле, оставим только программу, которая теперь превратится в вот такой код:

require(“configuration.php3”);
echo $hello;
echo $spacer;
echo $name;
echo $din;

Теперь наша программа ищет в самой себе запрашиваемые переменные, а если таковых найдено не будет, она отправится в путешествие на указанный в первой строчке файл.
Но главным преимуществом PHP, является возможности вставки кода в web-страницу, наряду со стандартным HTML-кодом. Это делает язык PHP очень гибким, и в то же время необычайно удобным. В этом, он может соперничать разве что с технологией ASP (Active Server Pages), но она, в отличии от рассматриваемого языка, может использоваться только на серверах, базирующихся на основе Windows NT.
Первый движок

Теперь вы уже имеете представление о PHP, и можно сделать что-то более полезное, нежели программу, которая выводит банальное “Привет Мир!”. Займемся разработкой нашего движка.
Для начала, напишем программу, которая будет добавлять некоторые статьи в базу текстов, и выводить любой из указанных файлов в одном шаблоне. Все это выглядит очень сложным, но на самом деле очень просто. Сначала напишем на HTML форму, откуда введенные данные будут передаваться программе на обработку:

<form method=”POST” action=”add_text.php3″>
<p>Название текста:<br>
<input type=”text” name=”text_name” size=”20″><br>
Текст:<br>
<textarea rows=”12″ name=”text” cols=”53″></textarea><br>
<input type=”submit” value=”Submit” name=”Submit”></p>
</form>

Теперь напишем программу, которая введенные в форму данные обработает должным образом, и сохранит в папку texts:

<?php
$filename = “$name”; /* указываем с каким именем будет сохранен файл. Именем файла, будет служить название текста, введенное в соответствующее поле формы */
$fp = fopen(”texts/$text_name.txt”,”w+”) /* открываем файл, а если он не найден, директивой “w+” указываем что его надо создать */
fputs($fp, “<b>$text_name</b><br>$text”); /* сохраняем с учетом HTML-форматирования текст в базу текстов */
fclose($fp); /* закрываем файл по завершению всех работ */
?>

Вот и все – эта программа сохранит все введенные в форму данные. Теперь нам нужно их вывести. Здесь на помощь тоже приходит PHP. Зачем же нам создавать огромное количество веб-страниц, для каждого документа хранящегося в базе текстов, если любой из них можно вывести в одном шаблоне?
Создаем HTML-файл, и в месте, где предполагается вывод текстов, пишем следующий PHP-код:

<?
$filename = “read/”.$open .’.txt’; // открываем указанный текст
if (file_exists ($filename)): // если такой файл существует…
$fd = fopen ($filename, “r”); // …открываем его…
$showtext = fread ($fd, filesize ($filename)); // и считываем в переменную $showtext
fclose ($fd); // закрываем файл
echo ($content); // выводим текст если файл найден, а если нет…
else: echo (”Указанный текст отсутствует в базе текстов.”); // пишем что такого файла нету
endif; // конец цикла, и конец программы
?>

Все так – подумает читатель – но как же указать файл? Очень просто. Предположим, что приведенный выше код, находится в файле read.php3. В строке броузера, просто пишем read.php3?open=имя_файла_без_расширения.
Думаю, вряд ли кто-то станет спорить, что такой способ очень удобен. Интересно, что в файле может храниться не обязательно текст – это может быть и HTML-код, и какой-то другой скрипт… словом, все, что только может разобрать броузер или сервер.

В этом примере рассказывается о том, что при наведении на картинку курсор мыши, ее прозрачность становилась 80%-ной(чтобы она была потусклее), а на неактивной картинке оставалась 100%-ной. Пример можно посмотреть здесь, не работает в InternetExplorer. Далее следует небольшое описание как это сделать.

Создайте файл css.css и вставьте в него следующий код:

a img:hover {
filter:alpha(opacity=80); ..-opacity:0.8; opacity:0.8; -khtml-opacity:0.8;
}

Затем создайте файл index.html и вставьте в него следующий код

<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=window-1251″ />
<title>Прозрачность картинки при наведении на нее курсора мыши через CSS</title>
<link rel=”stylesheet” type=”text/css” href=”css.css” />
</head>

<body>

<p><a href=”http://flashripper.net/demoblog/” target=”_blank”><img src=”16r.gif” border=”0″/></a></p>

<p><a href=”http://flashripper.net/demoblog/” target=”_blank”><img src=”18r.gif” border=”0″ /></a></p>

<p><a href=”http://flashripper.net/demoblog/” target=”_blank”><img src=”17r.gif” border=”0″ /></a></p>

</body>
</html>

На этом все, теперь вам осталось только вставить свои изображения и наслаждаться полученным результатом.
Дополнительно:

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

Для начала, создайте файл index.htm и вставьте в него следующий код:

<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Language” content=”ru”>
<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1251″ />
<title>Редирект</title>
<script type=”text/JavaScript”>
<!–
function MM_goToURL() {
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+”.location=’”+args[i+1]+”‘”);
}
//–>
</script>
</head>

<body onload=”MM_goToURL(’parent’,'http://www.flashripper.net/demoblog/’);return document.MM_returnValue”>
<p>
<img border=”0″ src=”i2.gif” width=”13″ height=”13″ align=”left”><font size=”2″>Подождите,
сейчас вы будете перемещены на страницу блога…</font></p>
</body>
</html>

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

Дополнительно:

Например, вам нужно вывести информацию об авторских правах или еще что-то, и показать данную информацию надо в маленьком окошечки, которое будет с нужным вам размером. Пример можно посмотреть тут.

Для начала создадим файл index.htm и вставьте в него следующий код:

<html>

<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1251″>
<title>popup</title>
<script>
<!–
function newwindow() {
cX=(screen.width-430)/2;
cY=(screen.height-380)/2;
w=window.open(’newwindow.htm’,'_blank’,'width=430,height=380, scrollbars=yes,left=’+cX+’,top=’+cY+’,screenX’+cX+’,screenY=’+cY);
}
–>
</script>
</head>

<body>
<a href=”javascript:newwindow()”>Новое окошко</a>
</body>

</html>

Теперь разберём одну строчку:

w=window.open(’newwindow.htm’,'_blank’,'width=430,height=380, scrollbars=yes,left=’+cX+’,top=’+cY+’,screenX’+cX+’,screenY=’+cY);

newwindow.htm - страница, которая будет открыта
_blank - обозначает, что страница будет открыта в новом окне
width=430,height=380 - размер и ширина нового окна

Теперь создадим файл newwindow.htm и вставьте в него следующий код:

<html>

<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1251″>
<title>popup</title>
</head>

<body>
<font size=”2″>Пример нового окошка</font>.<span lang=”en-us”>
<a href=”http://flashripper.net”><font size=”2″>http://flashripper.net</font></a><font size=”2″>
<br>
</font></span>
<font size=”2″>
<br>
<a href=”javascript:close()”>Закрыть окно</a></font>
</body>

</html>

Вот вроде и все!
Дополнительно:

Вы создали новый оригинальный проект, разместили на хорошем хостинге, проверили каждую страницу сайта на ошибки, поставили счетчики, но они показывают только Ваши заходы, а также заходы Ваших друзей, коллег и людей, которых вы просили об этом. Что делать в такой ситуации? Неужели ничего нельзя сделать? Можно!
Прочитав эту статью вы узнаете о первом и последующих шагах в нелёгком деле раскрутки сайта в Интернете.

Итак, если Вы уверены, что Ваш сайт может увлечь людей, пришедших на него, то можно начинать…

1. Размещение описания сайта в рассылках-обзорах Сети. Такие рассылки Вы можете найти в разделе “Интернет”-”Обзоры” на http://subscribe.ru ; в разделе “Интернет” на http://content.list.ru/cat_5.html ; на сервисе http://maillist.ru . В случае благоприятного стечения обстоятельств описание Вашего сайта увидят до 100 тысяч подписчиков этих рассылок. При составлении письма ведущему рассылки не следует ограничиваться только фразой “Эй, ты глянь мой линок!!” (прим.автора - это реальный пример одного из писем полученного мной недавно). Помимо ссылки на сайт обязательно включите описание сайта составленного так чтобы выставить на первый план особое содержание сайта, его изюминку. Велика вероятность, что оно в таком виде будет использовано ведущим рассылки. В случае попадания в обзор Вы можете реально получить от 150 до ….. новых посетителей только за один день. Не делайте все в один день, Вам нужен не взрыв на сутки, а постоянная подпитка, пока не заработают другие приемы.

2. Регистрация в каталогах и поисковых системах. Этот метод обеспечит Вас постоянным траффиком, но произойдет это не так быстро. Примерно, этот процесс растягивается на 2-3 месяца. Следует различать каталоги и поисковые системы. Каталог - это подобие телефонной книги в Сети редактируемая людьми которые заходят на сайт, редактируют описание и добавляют описание в каталог. Поисковая система - это автоматический механизм основанный на анализе содержания каждой страницы и ранжирования результатов поиска. Здесь людей-редакторов уже нет. При регистрации в каталогах Ваша главная задача - составить грамотное описание сайта, которое бы обьективно отражало содержание сайта, и не содержало бы различных призывов. Например: “Самый крутой сайт заходи сюда не пожалеешь!!!!!!!!” При регистрации Вашего сайта в поисковых системах обратите внимание на конкретные рекомендации по обеспечению высокой позиции Вашего сайта. Не верьте тому, что добавление тегов keywords и description выведет сайт на первые позиции по всем этим словам.

3. Обмен ссылками с другими сайтами. Этот метод принесет Вам целевую аудиторию, но в тоже время потребует очень серьезной работы по отбору сайтов. Обычно ссылки располагаются в 2-х местах: на главной странице сайта (обычно внизу), а также на отдельной странице “Ссылки”. Таким образом Вы сможете иметь возможность предлагать обмен ссылками разным сайтам в зависимости от количества посещений. Не секрет что можно договорится с заметно более крупным сайтом на обмен на условиях: Вы на главной странице, а они на странице “Ссылки”. Старайтесь отбирать сайты по качеству контента, а не по посещаемости, большая посещаемость может быть “подкрученной”.

4. Баннерная реклама. На Западе это давно прошедший этап развития интернета. Применять баннерную рекламу имеет смысл только для более-менее раскрученных проектов. Если Ваша посещаемость находится на уровне 5-10 человек в день, то мгновенный показ вряд ли привлечет новых посетителей, попытайтесь сначала поработать без показа баннеров, чтобы создать актив показов. Существует 2 класса сетей: Общие и специализированные. Точность воздействия на потенциального посетителя обеспечивается наличием таргетинга, т.е. возможности выбора категории сайтов где будет показываться Ваш баннер. Проблемой специализированных сетей является выгорание баннеров, т.е. снижение результативности по привлечению посетителей. (показатель CTR - отношение количества нажатий на баннер к числу его показов). Наилучшим выбором будет сочетание баннеров общей сети и специализированной.

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

6. Web-Кольца. Это разновидность обмена ссылками. Смысл его в том, что Вы размещаете на своем сайте набор ссылок вида ” Next” “Previous” “+5″ -”5″ что обеспечивает целевую аудиторию с других сайтов участвующих в кольце. К сожалению в Рунете web-кольца практически не работают.

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

8. Открытие собственной рассылки. Любой грамотно раскручиваемый сайт рано или поздно подходит к осознанию наличия собственной рассылки. В Рунете существует немало сервисов которые предоставляют такую возможность: http://content.list.ru http://maillist.ru http://subscribe.ru http://virtuals.atlant.ru . Для пробы сил как нельзя лучше подходит http://content.list.ru. Старайтесь сделать содержание рассылки оригинальным, не ограничивайтесь только новостями сайта. Это поможет Вам создать целевую аудиторию для своего сайта.

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

Если вам на сайте нужно вывести запись такого содержания:
Сегодня: Среда, 24 Октября 2007 г.
То пожалуйста читайте эту статью. Итак, для начало создайте файл index.php и вставьте в него следующий код:

<htmL>
<head>
<title>Делаем вывод даты на PHP</title>
</head>
<body>
<?php

$month[1] = “Январ”;
$month[2] = “Феврал”;
$month[3] = “Март”;
$month[4] = “Апрел”;
$month[5] = “Ма”;
$month[6] = “Июн”;
$month[7] = “Июл”;
$month[8] = “Август”;
$month[9] = “Сентябр”;
$month[10] = “Октябр”;
$month[11] = “Декабр”;
$month[12] = “Январ”;

$day[0] = “Воскресенье”;
$day[1] = “Понедельник”;
$day[2] = “Вторник”;
$day[3] = “Среда”;
$day[4] = “Четверг”;
$day[5] = “Пятница”;
$day[6] = “Суббота”;

$dnum = date(”w”);
$mnum = date(”n”);
$daym = date(”d”);
$year = date(”Y”);

$textday = $day[$dnum];
$monthm = $month[$mnum];

if ($mnum==3||$mnum==8)
{
$k=”а”;
}
else
{
$k=”я”;
}
echo “Сегодня: $textday, $daym $monthm$k $year г.”;
?>
</body>
</html>

Все на этом разработка скрипта закончена, теперь вам осталось его проверить!

Дополнительно:

Например, у вас есть сайт и на сайте есть мини блок где вы показываете картинки, и вы постоянно(например: раз в день) обновляете html файл в который каждый раз вставляете новую картинку. Согласитесь это очень не удобно, ну так вот в данном примере мы решим эту проблему. Пример вы можете посмотреть здесь , потом обновите страницу, для этого нажмите F5 и вы увидите, что картинка стала совершенно другой.
Для начала создайте файл index.php и вставьте в него следующий код:

<?
$imgdir=”img/”;

$ext=”jpg”;

$mode=2;

$error=”Мало картинок.”;

$errorfile=”error/error_001.jpg”;

$NoCacheMode=1;

function NoCache()
{
header(”Cache-Control: no-store, no-cache, must-revalidate”);
header(”Pragma: no-cache”);
header(”Last-Modified: “.gmdate(”D, d m y H:i:s”).”GMT”);
}
function FileCount($imgdir)
{
$files=0;
$cfile=opendir(”$imgdir”);
while(($e=readdir($cfile))!==false)
{
$files++;
}
$files-=3;
return $files;
}

function filetest($ranfile)
{global $imagelist;
$status = false;
if (IsSet($imagelist))
{
foreach ($imagelist as $occu)
{
$occu=trim($occu);
if ($ranfile==$occu)
{
$status=true;
return $status;
}
}
}
return $status;
}

function ImgWrite($ranfile)
{global $imagelist;
$ranfile=trim($ranfile);
$imagelist[]=$ranfile;
}

function ImgRandom($files)
{global $ext, $imgdir, $imgcounter, $mode, $error, $errorfile;
$ranfile= mt_rand(1, $files);
$ranfile= sprintf(”%03d”, $ranfile);
if (!filetest($ranfile))
{
ImgWrite($ranfile);
Echo “<img src=\”$imgdir$ranfile.”.$ext.”\”>”;
$imgcounter++;
}
else
{
if ($imgcounter<$files)
{
ImgRandom($files);
}
else
{
if ($mode==1)
{
Echo $error.”<br>”;
}
elseif ($mode==2)
{
Echo “<img src=\”$imgdir$errorfile.”.$ext.”\”>”;
}
}
}
}

if ($NoCacheMode==1)
{
NoCache();
}
$imgcounter=0;
print “<title>Случайный вывод картинок</title><br>”;
ImgRandom(FileCount($imgdir));
?>

Разберём код немного подробнее

$imgdir=”img/”;

Данная строчка отвечает откуда будут грузится картинки, в данном случае картинки будут загружаться из папки img.
———————————

$ext=”jpg”;

Данная строчка отвечает за расширение картинок, которые будут выводится, в данном случае картинки будут грузится только с расширением jpg
———————————

$error=”Мало картинок.”;

$errorfile=”error/error_001.jpg”;

Данная строчка отвечает за то, что если в папке img не будет ни одной картинки, на экран пользователя будет выведена картинка, можете в данную папку поместить свою собственную картинку.

Теперь когда будете загружать картинки в папку img не забудьте переименовать все картинки в названия такого типа 001.jp; 002.jpg; 003.jpg; 010.jpg и.т.д
Папку img надо класть в ту директорию куда вы положили файл index.php или переназначьте путь откуда будут грузится картинки.

Дополнительно:

Если вам нужна форма для загрузки файлов с компьютера к себе на сервер, то этот урок(пример) для вас. Создайте файл index.php и вставьте в него следующий код:

<?
$path=GetCWD().”/files”;
if(!file_exists($path))
die(”<b>Пожалуйста, создайте папку <font color=red>”.$path.”</font> и <a href=?>повторите попытку загрузить файл</a>.</b>”);
if(empty($_FILES['UserFile']['tmp_name']))
echo
“<form method=post enctype=multipart/form-data>
Выберите файл: <input type=file name=UserFile>
<input type=submit value=Отправить>
</form>”;
elseif(!is_uploaded_file($_FILES['UserFile']['tmp_name']))
die(”<b><font color=red>Файл не был загружен! Попробуйте <a href=?>повторить попытку</a>!</font></b>”);
else
{
if(@!copy($_FILES['UserFile']['tmp_name'],$path.chr(47).$_FILES['UserFile']['name']))
die(”<b><font color=red>Файл не был загружен! Попробуйте <a href=?>повторить попытку</a>!</font></b>”);
else
echo
“<center><b>Файл \”<font color=red>”.$_FILES['UserFile']['name'].”\”</font> успешно загружён на сервер!</font></b></center>”.
“<hr>”.
“Тип файла: <b>”.$_FILES['UserFile']['type'].”</b><br>”.
“Размер файла: <b>”.round($_FILES['UserFile']['size']/1024,2).” кб.</b>”.
“<hr><center><a href=?>Загрузить ещё один файл!</a></center>”;
}
?>

Потом создайте папку files там где вы поместили файл index.php и поставьте папке files CHMOD равный 777 или 0777. Готово, теперь можете экспериментировать с дизайном и со всем остальным.

Скриншоты:

Дополнительно: