КулЛиб - Классная библиотека! Скачать книги бесплатно 

Введение в PHP [Журнал «CHIP»] (fb2) читать онлайн


 [Настройки текста]  [Cбросить фильтры]
  [Оглавление]

ВВЕДЕНИЕ В PHP

Как и любую вещь в этом мире, сайт можно автоматизировать. И не просто автоматизировать, а дать самому себе возможность, больше никогда не заглядывать в его 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
  • Первый движок