Введение в 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-код, и какой-то другой скрипт… словом, все, что только может разобрать броузер или сервер.
Делаем вывод даты на PHP
Если вам на сайте нужно вывести запись такого содержания:Сегодня:Среда, 24 Октября 2007 г.То пожалуйста читайте эту статью. Итак, для начало создайте файл index.php и вставьте в него следующий код:<htmL><head><title>Делаем вывод даты на ...

Делаем защиту от спама и флуда на PHP
Пример по созданию формы отправки письма(обратная связь) с антиспамом, каждый раз на картинке будет выводится новое число. Пока пользователь не введёт цифры в поле, которые написаны на картинке письмо не будет отправлено вам на почтовый ящик. Пример данно ...

Загрузка файлов на сервер с помощью PHP
Если вам нужна форма для загрузки файлов с компьютера к себе на сервер, то этот урок(пример) для вас. Создайте файл index.php и вставьте в него следующий код:<?$path=GetCWD().”/files”;if(!file_exists($path))die(”<b>Пожалуйста, с ...

Скрипт формы отправки сообщения на e-mail с сайта v1.1 Скрипт формы отправки сообщения на e-mail с сайта v1.1
В данной версии были исправлены ошибки, которые были допущены в версии 1.0, а именно такие как:Проблемы с кодировкой, в некоторых броузерах отображалось места текста квадратикиПапки examples больше нету, она теперь называется forma(вы можете ее назвать ка ...

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