Рейтинг
Порталус

Введение в PHP

Дата публикации: 28 сентября 2004
Публикатор: maskaev
Рубрика: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ Программирование →
Номер публикации: №1096362767


УОЛЛЭЙС ШОН

Что такое PHP
PHP это HTML - внедренный в HTML язык программирования, напоминающий PERL и C++, исполняемый (интерпретируемый) на стороне сервера, а не клиента, как например JavaScript. Тем, кто знаком с технологией Активных серверныханиц (ASP) фирмы Microsoft, PHP покажется знакомым (Только лучше).

Как это работает
Нужно соблюсти несколько требований для того, что бы сервер мог выполнять программы на PHP, а не выводить их на экран в виде простого текста. Расширение файла содержащего код должной быть PHP, PHP3 или PHTML.
В конфигурационном файле WEB-Сервера Apache необходимо добавить директиву обработки этого типа файлов: AddType. Второе требование это необходимость разрыва HTML- кода (выполняется несколькими способами), для того, что бы дать WEB- серверу понять, то, что данный фрагмент кода и есть скрипт на PHP.
Пример очень простого файла с PHP:




Это внутри файла Html

"; ?>



Как видно из примера , команда языка PHP “echo” внедрена внутрь HTML документа.

Более сложные действия
Теперь, когда мы получили общее представление о PHP, можно перейти к более сложным понятиям, как то использование переменных. В PHP переменные . Порядок работы с переменными в PHP несколько отличается от принятого например в C++ и более похож на Perl. Имя переменной всегда начинается с симола $. В качестве примера переменная счетчик будет выглядеть так: $counter.
Другой интересной особенностью переменных в PHP, является то, что не требуется явно задавать их тип. При присваивании значения переменной PHP автоматически задает ее тип. Все преобразования типов так же выполняются полностью автоматически. Хотя существуют функции определения текущего типа переменной. Простым присвоением мы создаем строковые переменные:
Допустимо использование переменных внутри строк.

$where = "Мир !!!";
$what = "Привет $where";
echo $what;
?>

Приведенный выше фрагмент выведет на экран строку “Привет мир !!!”.
Для получения значения переменной достаточно вписать внутрь строки ее имя.
Для создания более сложных программ PHP так же поддерживает массивы и объекты.
PHP так же содержит все основные конструкции традиционных языков программирования (типа C++) такие как: условные операторы, операторы циклов.

test = 1;
for ($looper=0; $looper<10; $looper++)
if ($looper == $test) echo "Нашли однако";
while ($test--) echo "Странно…";

Данные, данные и еще раз данные из баз данных …
Одним из самых ценных (на мой взгляд) качеств языка PHP это наличие интерфейсов к большому количеству систем управления баз данных. Это Abadas D, dBase, Empress, FilePro, Informix, Interbase, mSQL, MySQL, Oracle, PostGreSQL, Solid, Sybase, Velocis, Unix dbm, и другие ODBC- совместимые. В примере будет использоваться интерфейс к широко распространенной в мире Linux СУБД - MySQL. Интерфейсы доступа к данным других СУБД выглядят аналогично.
Ниже приведен пример соединения с СУБД, выполнение запроса и получение данных. Обратите внимание на использование объектов PHP для обращения к базе данных.

// Открыть постоянное соединение

Mysql_pconnect("database.server.com");

// Выбор базы данных для использования
Mysql_select_db("ourdatabase");

// Выполняем запрос

$result = Mysql_Query("SELECT * FROM sometable WHERE id>0 ORDER BY name");
// Получаем количество строк результирующей таблицы

$f = Mysql _num_fields($res);
echo "";
// Теперь захватываем каждую строку, результирующей
таблицы, как объект!

while ($r = Mysql _fetch_row($res))
{
echo "";
for($i = 0; $i < $f; $i++)
{
$tok = strtok($r[$i]," ");
while($tok) {
echo "";
$tok = strtok(" ");
}

}
echo "";
}
Mysql _free_result($res);

echo "
$tok
";
echo "---
";

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

Некоторые расширенные возможности
PHP имеет огромное количество возможностей, рассмотрение которых, может превратить вводный курс в многостраничное руководство. Но на некоторые из наиболее интересных возможностей, не обратить внимание невозможно.

HTTP- идентификация пользователей. Любой кто, что то слышал об .htaccess примерно знает, что это такое. Теперь эту возможность элементарно использовать в скриптах PHP.



if(!isset($PHP_AUTH_USER))
{
Header("WWW-Authenticate: Basic realm="My Realm"");
Header("HTTP/1.0 401 Unauthorized");
echo "Сообщение посылаемое пользователю при нажатии кнопки Cancel n";
exit;
}
else
{
echo "Привет $PHP_AUTH_USER.

";
echo "Вы ввели $PHP_AUTH_PW , что случайно совпадает с Вашим паролем.

";
}
?>

Динамическая графика. Возможности PHP не ограничиваются созданием или модификацией HTML- документов. Если к Вашему PHP- модулю подключена библиотека GD, то вы имеете возможность создавать на лету изображения в GIF- формате.



Header("Content-type: image/gif");
$string=implode($argv," ");
$im = imagecreatefromgif("images/button1.gif");
$orange = ImageColorAllocate($im, 220, 210, 60);
$px = (imagesx($im)-7.5*strlen($string))/2;
ImageString($im,3,$px,9,$string,$orange);
ImageGif($im);
ImageDestroy($im);
?>





Поддержка загрузки файлов с клиента. PHP позволяет пересылать файлы с клиента на сервер согласно RFC-1867 спецификациям, включенным в Navigator 3+ и Explorer 4. Эта возможность позволяет Вам создать скрипт, разрешающий загружать файлы на Ваш сервер или в базу данных.

Cookies(Пирожки, печенье - так как русский перевод, на мой взгляд, совершенно не отражает смысл, оставляю вражеское название). Это очень важная часть работы с любым динамическим WEB- сайтом. PHP позволяет присваивать и стирать значения, используя лишь несколько строк кода.
Получение же содержимого cookies выполняеться при помощи чтения регулярных переменных. (аналогично чтению значений параметров из форм при помощи GET или POST)

Устанавливаем значение cookie,

SetCookie("TestCookie",$value,time()+3600);
/* Время жизни всего 1 час*/
И затем читаем это значение позже :

If ($TestCookie==whatever) …
Регулярные выражения: Как будто язык PHP недостаточно мощен сам по себе, в него включена поддержка Regexp. (Unix-гуру любят это использовать).

Например можно использовать этот фрагмент для удаления HTML- тагов из пользовательского ввода. (Можно использовать при создании защищенных WEB-чатов, Гостевых книг или Конференций)

Ereg_replace("<.*>", "", $input);
Далее
Слишком много возможностей для их всестороннего описания. Для более полной информации смотрите руководства расположенные на http://www.php3.com.
Надеюсь, что прочтение данного материала вызовет интерес к использованию PHP, облегчит решение Ваших задач и будет способствовать широкому распространению PHP, что благотворно отразиться на его развитие.

Опубликовано на Порталусе 28 сентября 2004 года

Новинки на Порталусе:

Сегодня в трендах top-5


Ваше мнение?



Искали что-то другое? Поиск по Порталусу:


О Порталусе Рейтинг Каталог Авторам Реклама