Введение в 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-код, и какой-то другой скрипт… словом, все, что только может разобрать броузер или сервер.
|