Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемВладислав Петровых
1 Тема 5. Средства реализации серверной логики. Тема 6.PHP МИФИ, Кафедра «Кибернетика»
2 Принципы работы web-сервера, интерфейс CGI, передача информации CGI-сценарию Реализация серверной логики с помощью скриптов Установка и настройка PHP в Apache Встраивание PHP в HTML Добавление динамического содержимого, базовый синтаксис Повторное использование кода Типы данных. Константы МИФИ, Кафедра «Кибернетика» Содержание темы
3 Использование массивов Стандартные функции PHP Управляющие конструкции HTML-формы, обработка форм. Хранение и получение данных Функции работы с файлами Функции и области видимости Реализация сеансов Работа с СУБД Графика МИФИ, Кафедра «Кибернетика» Содержание темы
4 CGI (Common Gateway Interface) - набор правил и соглашений для взаимодействия сервера и приложений; реализовано на различных платформах. Принцип работы веб-сервера: механизм сервера, реализующий CGI, перенаправляет вывод приложений веб-серверу, тот – браузеру пользователя. МИФИ, Кафедра «Кибернетика» Принцип работы web- сервера с динамическим содержанием страниц
5 МИФИ, Кафедра «Кибернетика» Основы CGI Этапы работы CGI-программы (сценария): 1.получения данных, переданных пользователем; 2.обработка; 3.вывод результата; 4.завершение. #include #include "cgi-lib.h" int main() { llist input; 1.read_cgi_input(&input); 2.do_anything(); 3.printf("Content-Type: text/html\r\n\r\n \n"); printf(" My Test Page \n \n \n"); printf("Hello, %s. You are\n",cgi_val(input,"name")); printf(" \n"); 4.} CGI- программы на разных языках: Bash, Perl, C и другие. Использование переменных окружения: переменные http-полей запроса, переменные соединения, специфические переменные конкретного веб-сервера.
6 МИФИ, Кафедра «Кибернетика» Основы CGI CGI-сценарий может быть написан и в командном файле Windows: off 1.set my_var=%1 2.set my_var=%my_var%.endparam 3.echo Content type: text/html echo. echo Hello! Request param: %my_var%
7 МИФИ, Кафедра «Кибернетика» Основы CGI CGI-сценарий (программа) получает доступ ко всем переменным окружения ОС, в том числе специфическим переменным конкретного веб- сервера переменным с полями HTTP-запроса переменным соединения (например, защищенного соединения SSL)
8 МИФИ, Кафедра «Кибернетика» Переменные окружения HTTP- полей запроса HTTP_HOST – имя виртуального хоста HTTP_USER_AGENT – программное обеспечение клиента (версия браузера) HTTP_ACCEPT – список типов содержимого, поддерживаемого клиентом HTTP_ACCEPT_LANGUAGE – языки в порядке предпочтения HTTP_CONNECTION – keep-alive/close HTTP_REFERER – адрес с которого перешли на страницу... «Похожи» на параметры (заголовки) HTTP- запроса : User-Agent, Accept, Cookie, …
9 МИФИ, Кафедра «Кибернетика» Переменные Apache AUTH_TYPE CONTENT_LENGTH REMOTE_ADR REMOTE_USER QUERY_STRING...
10 PHP и другие специальные средства разработки веб-страниц вытесняют cgi-программы (скрипты). Php и MySql– постоянно развивающиеся средства МИФИ, Кафедра «Кибернетика» CGI vs PHP. История развития PHP
11 МИФИ, Кафедра «Кибернетика» Встраивание PHP в HTML Стандартные теги Сокращенные теги
12 МИФИ, Кафедра «Кибернетика» Базовый синтаксис PHP Нечувствительность к пробелам (но нельзя вставлять пробелы внутрь
13 WELCOME Welcome to server Enjoy this link МИФИ, Кафедра «Кибернетика» Добавление динамического содержимого
14 МИФИ, Кафедра «Кибернетика» Комментарии в PHP // Single line comment # Single line comment /* Multi-line comment */ Пример документирования функции в комментариях /** * Documentation Example * string $bar */ function foo($bar) { } Комментарии // и # заканчиваются символом новой строки или ?>.
15 Серверные включения Особенности использования include и require. –Динамическое включение во время выполнения include "data_connect.inc.php"; –Включение до выполнения require "data_connect.inc.php"; Инструкции include_once и require_once. Включение только один раз МИФИ, Кафедра «Кибернетика» Повторное использование кода в PHP
16 МИФИ, Кафедра «Кибернетика» Типы данных Простые (scalar) boolean int (10;-13)(0666;0100)(0xFF;-0x100) float (0.12; ;2E7;1.2e2) Разрядность чисел зависит от платформы реализации string Сложные (composite) Arrays Objects Специальные NULL resource
17 МИФИ, Кафедра «Кибернетика» Переменные в PHP Безтиповые Начинаются с $ Наименование содержит цифры, латинские буквы и подчеркивание регистрозависимое начинается с буквы или подчеркивания Переменная может содержать имя другой переменной $name = myvar; $$name = демо; echo $myvar; // напечатется демо isset ($namevar) - проверка существования и not NULL
18 Могут содержать только простые типы Define(varname, value) Примеры define( , echo ; //печать define(USE_XML, true); if (USE_XML) {... } // Символьные константы: ' ' и " " Управляющие комбинации: \r, \n, \", \\ и др. МИФИ, Кафедра «Кибернетика» Константы
19 Могут содержать практически любые значения, включая другие массивы Могут иметь ключи числовые автосчетчик символьные смешанные Способы задания array() [ ] Функции работы с массивами array_merge() count()... МИФИ, Кафедра «Кибернетика» Массивы
20 Ключ по умолчанию 0, 1, 2, … $a = array (10, 20, 30); Символьный ключ $a = array (a => 10, b => 20, ce => 30); Неупорядоченный массив $a = array (5 => 1, 3 => 2, 1 => 3,); Пустой массив $a = array(); [ ] $ar[] = 22; // автоматически присвоен ключ 0 $ar[bb] = 25; МИФИ, Кафедра «Кибернетика» Массивы
21 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z')); print_r ($a); ?> Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) МИФИ, Кафедра «Кибернетика» Способ просмотра массива и других переменных
22 Использование GET –вызов –обработка в PHP echo $_GET[list]; Использование POST –вызов (html или PHP) … –обработка в PHP echo $_POST[user]; МИФИ, Кафедра «Кибернетика» Глобальные массивы _GET и _POST
23 МИФИ, Кафедра «Кибернетика» Cookie setcookie( " User ", " Petr ",time()+86400); nameИмя Обратиться $_COOKIE[user'] value Хранится на компьютере клиента. Не храните важную информацию здесь! expire Время актуальности в Unix-формате Если пропущено – доя конца сессии (до закрытия окна браузера) time()+60*60*24*30 (30 дней) path Путь (+поддиректории) на сервере, где данное cookie доступно '/ – весь домен, По умолчанию – текущая директория domain Домены сервера, где данное cookie доступно.example.com – все поддомены Secure Если TRUE, то устанавливается только при HTTPS The default is FALSE. Httponly Если TRUE, то cookie не доступно by скриптам, как JavaScript.
24 Возврат значения function hello() { return "Hello World"; } Возврат ссылки на переменную/ресурс function &query($sql) { $result = mysql_query($sql); return $result; } МИФИ, Кафедра «Кибернетика» Функции в PHP
25 Аргументы по значению function hello($who) {...} Значения по умолчанию function hello($what, $who = "World"){} Аргументы по ссылкам function hello(&$who) {...} С произвольным числом аргументов function hello() {} –func_num_args() –func_get_arg() –array_shift() МИФИ, Кафедра «Кибернетика» Функции в PHP
26 Способы обращение к переменным, определенным вне функции –global $a, $b; –$GLOBALS[a] Более 120 «стандартных» расширений php МИФИ, Кафедра «Кибернетика» Функции в PHP
27 C-подобные конструкции –if (expression1) { } elseif (expression2) { } else { } –switch (){ case : ; break; default:} –while () { } –do {} whjile () –for ($i = 0; $i < 10; $i++) { } Функция обработки ошибок –set_error_handler(myErrorHandler) myErrorHandler ($errNo, $errStr, $errFile, $errLine, $errContext) МИФИ, Кафедра «Кибернетика» Управляющие конструкции
28 1.Соединение с СУБД (подключение) 2.Выбор (открытие) базы данных 3.Запрос к БД 4.Обработка результатов 3.… 4.… … 5.Закрытие Возможна одновременная работа с несколькими БД Встроенные (специальные) функции работы с СУБД и использование ресурсов ОС МИФИ, Кафедра «Кибернетика» Обращение к СУБД
29 $hostname = "localhost";//databasehostname $usernamedb = "root";// database username $passworddb = "";// database password $dbName = "PKtest";// database name 1.$dblink = mysql_connect($hostname, $usernamedb, $passworddb) or die ("Could not connect"); 2.mysql_select_db ($dbName) or die ("Could not select database"); МИФИ, Кафедра «Кибернетика» Обращение к СУБД
МИФИ" title="$SQLstring="SELECT f1,f2,name From MyTable order by name ASC"; 3.$result=MYSQL_QUERY(SQLstring); echo " "; 4.while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) { echo ' Name: '. $row["name"]. ' '. $row["f1"].' '. $row["f2"].' '; } echo " ";?> МИФИ" class="link_thumb"> 30 $SQLstring="SELECT f1,f2,name From MyTable order by name ASC"; 3.$result=MYSQL_QUERY(SQLstring); echo " "; 4.while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) { echo ' Name: '. $row["name"]. ' '. $row["f1"].' '. $row["f2"].' '; } echo " ";?> МИФИ, Кафедра «Кибернетика» Обращение к СУБД МИФИ"> МИФИ, Кафедра «Кибернетика»http://cyber.mephi.ru Обращение к СУБД"> МИФИ" title="$SQLstring="SELECT f1,f2,name From MyTable order by name ASC"; 3.$result=MYSQL_QUERY(SQLstring); echo " "; 4.while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) { echo ' Name: '. $row["name"]. ' '. $row["f1"].' '. $row["f2"].' '; } echo " ";?> МИФИ">
EOF){ echo " "; for ($i=0; $iFields[$i]->value. "; } $rs->movenext(); echo " "; } 5.$rs->Close(); $conn->Close(); $rs = null; $conn = null; ?> МИФИ, Кафедра «Кибернетика»http://cyber.mephi.ru Обращение к СУБД (MS Access) Обра" title="echo " "; 4.while (!$rs->EOF){ echo " "; for ($i=0; $iFields[$i]->value. "; } $rs->movenext(); echo " "; } 5.$rs->Close(); $conn->Close(); $rs = null; $conn = null; ?> МИФИ, Кафедра «Кибернетика»http://cyber.mephi.ru Обращение к СУБД (MS Access) Обра" class="link_thumb"> 32 echo " "; 4.while (!$rs->EOF){ echo " "; for ($i=0; $iFields[$i]->value. "; } $rs->movenext(); echo " "; } 5.$rs->Close(); $conn->Close(); $rs = null; $conn = null; ?> МИФИ, Кафедра «Кибернетика» Обращение к СУБД (MS Access) Обращение к свойству Уничтожение объекта EOF){ echo " "; for ($i=0; $iFields[$i]->value. "; } $rs->movenext(); echo " "; } 5.$rs->Close(); $conn->Close(); $rs = null; $conn = null; ?> МИФИ, Кафедра «Кибернетика»http://cyber.mephi.ru Обращение к СУБД (MS Access) Обра"> EOF){ echo " "; for ($i=0; $iFields[$i]->value. "; } $rs->movenext(); echo " "; } 5.$rs->Close(); $conn->Close(); $rs = null; $conn = null; ?> МИФИ, Кафедра «Кибернетика»http://cyber.mephi.ru Обращение к СУБД (MS Access) Обращение к свойству Уничтожение объекта"> EOF){ echo " "; for ($i=0; $iFields[$i]->value. "; } $rs->movenext(); echo " "; } 5.$rs->Close(); $conn->Close(); $rs = null; $conn = null; ?> МИФИ, Кафедра «Кибернетика»http://cyber.mephi.ru Обращение к СУБД (MS Access) Обра" title="echo " "; 4.while (!$rs->EOF){ echo " "; for ($i=0; $iFields[$i]->value. "; } $rs->movenext(); echo " "; } 5.$rs->Close(); $conn->Close(); $rs = null; $conn = null; ?> МИФИ, Кафедра «Кибернетика»http://cyber.mephi.ru Обращение к СУБД (MS Access) Обра">
33 МИФИ, Кафедра «Кибернетика» Обращение к СУБД (MS Access)
34 class foo { private $bas; public var1 = "Test"; // String public var3 = array (1, 2, 3); function __construct() {... }... } МИФИ, Кафедра «Кибернетика» Классы ( определение )
35 МИФИ, Кафедра «Кибернетика» Графическая библиотека GD Установка –входит в поставку php –для активации – подключить в php.ini строку: extension=php_gd2.dll 1.Создать «пустое» изображение с помощью $img=ImageCreateTrueColor($x,$y) ) 2.Установить формат header("Content-type: image/png"); 3.Определить палитру $white = imagecolorallocate($img, 255, 255, 255);
36 МИФИ, Кафедра «Кибернетика» Графическая библиотека GD 4.Рисовать с помощью графических примитивов ImageSetPixel( ) ImageLine( ) ImageFilledRectangle( )... 5.Вывести изображение imagepng($img); 6.Очистить объект imagedestroy($img);
37 МИФИ, Кафедра «Кибернетика» Графическая библиотека GD header("Content-type: image/png"); $img = ImageCreateTrueColor(350,200); $white = ImageColorAllocate($img,255,255,255); $grey = …; $black = … ; ImageFilledRectangle($img,0,0,350,199,$white); draw_grid($img, 0,0,15,20,20,10); $text = 'Testing... Dept. 22'; $font = 'C:\\WIN2K\\Fonts\\arial.ttf'; ImageTtftext($img, 20, 20, 11, 121, $grey, $font, $text); ImageTtftext($img, 20, 20, 10, 120, $black, $font, $text); ImagePng($img);ImageDestroy($img);
38 МИФИ, Кафедра «Кибернетика» Использование дополнительных библиотек для деловой графики
39 МИФИ, Кафедра «Кибернетика» Работа с файлами ( ресурсами ) file – доступ к обычным локальным файлам http – доступ к удаленным ресурсам через HTTP ftp – доступ к удаленным ресурсам через FTP compress.zlib – доступ к сжатым данным через библиотеку zlib compression library.
40 МИФИ, Кафедра «Кибернетика» Работа с обычными файлами Упрощенный вызов (за один вызов) –string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [,int maxlen]]]]) –int file_put_contents ( string $filename, mixed $data [, int $flags [, resource $context]] ) Значения $flag : FILE_USE_INCLUDE_PATH/ FILE_APPEND/ LOCK_EX/FILE_TEX/FILE_BINARY Традиционный вызов (C-подобный) –fopen( ) fread( )/fwrite( ) fclose( )
41 МИФИ, Кафедра «Кибернетика» Работа с другими ресурсами $file = fopen ( $file = file_get_contents(" false, $http_options);
42 PHP/Perl/Python Linux IIS МИФИ, Кафедра «Кибернетика» © Microsoft Два мира – два сервера LAMP
43 WAMP PHP/Perl/Python Linux МИФИ, Кафедра «Кибернетика» © Microsoft
44 Бесплатная редакция Microsoft SQL МИФИ, Кафедра «Кибернетика» © Microsoft
45 WASP PHP/Perl/Python Linux МИФИ, Кафедра «Кибернетика» © Microsoft
46 WISP PHP/Perl/Python Linux IIS МИФИ, Кафедра «Кибернетика» © Microsoft
47 МИФИ, Кафедра «Кибернетика» © Microsoft The IIS Team is eager to announce the official release of Microsoft FastCGI Extension for IIS 6.0 as a free download. For the first time, we are providing hosters and PHP developers full support for a stack of technology that enables reliable, scalable PHP hosting on production Internet Information Services 6.0 (IIS 6) Web servers. (Note: The FastCGI module is built in to Windows Server 2008.) FastCGI – поддержка php в IIS
48 МИФИ, Кафедра «Кибернетика» Microsoft и PHP PHP на Windows - просто больше возможностей!
49 WISPA! Linux IIS МИФИ, Кафедра «Кибернетика» © Microsoft
50 . МИФИ, Кафедра «Кибернетика» Ресурсы интернет
51 МИФИ, Кафедра «Кибернетика» PHP- редактор
52 МИФИ, Кафедра «Кибернетика» Демо : установка WAMP 1.Загрузить с и запустить из установку WampServer. Рекомендуется выбрать все установки по умолчанию. 2.Запустить сервер WampServer. После успешного запуска появится значок на панели задач. Если не запускается сервер Apache (значок желтый ), отключить сервер IIS (щелчок правой кнопкой по "Мой компьютер -> Управление -> Службы и приложения -> Службы -> Веб- публикации -> Остановить ) и запустить сервер apache еще раз. 3.Щелкните левой кнопкой мыши по значку сервера и выберете в открывшейся странице поочередно запустите для ознакомления ссылки phpinfo(), phpmyadmin и sqlitemanager Управление -> Службы и приложения -> Службы -> Веб- публикации -> Остановить ) и запустить сервер apache еще раз. 3.Щелкните левой кнопкой мыши по значку сервера и выберете http://localhost/, в открывшейся странице поочередно запустите для ознакомления ссылки phpinfo(), phpmyadmin и sqlitemanager">
53 МИФИ, Кафедра «Кибернетика» Демо : Калькулятор ДДДД ЕЕЕЕ ММММ ОООО
54 МИФИ, Кафедра «Кибернетика» СПАСИБО ЗА ВНИМАНИЕ ! Вопросы Вопросы
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.