Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

7.5. Мова програмування сценаріїв PHP




7. 5. Мова програмування сценаріїв PHP

PHP - це мова написання сценаріїв, що додаються у HTML-документ. Багато чого із синтаксису даної мови запозичене у C, Java і Perl з додаванням специфічних для PHP можливостей. Завдання мови полягає в тому, щоб надати можливість Web-розроблювачам створювати HTML-сторінки, що динамічно змінюються. Мова PHP - це скрипт-мова (scripting language), що вбудовується в HTML, що інтерпретується і виконується на сервері.

Використання першої версії PHP стало доступним на початку 1995 р, вона була відома як Personal Home Page Tools. До середини 1995 р. з'явилася друга версія, що називалася PHP/FI Version 2. Приставка FI приєдналася з іншого пакета Rasmusa, що орієнтувався на обробку форм (Form Interpretator). PHP/FI компілювалася усередині сервера Apache і використовувала стандартний API Apache. PHP-скрипти виявилися швидкодійнішими, ніж аналогічні CGI-скрипти, тому що серверу не було необхідності породжувати новий процес. Мова PHP по можливостях наблизилася до Perl, самої популярної мови для написання CGI-програм. Була додана підтримка множини відомих баз даних (наприклад, MySQL і Oracle). Інтерфейс до GD-бібліотеки давав змогу миттєво генерувати зображення. З цього моменту почалося широке використання PHP/FI. До 1996 р. PHP/FI була використана принаймні на 15000 Web-серверах Internet. До 1998 р. число Web-серверів, що використовують PHP, зросло до 150000 cайтів.

В червні 1998 р. вийшла нова версія, яка була названа PHP3. До року 1999 р. PHP3 була включена в декілька комерційних продуктів. За даними NetCraft на листопад 1999 р., PHP використовувалася більше, ніж в 1 млн. доменів.

В грудні 1999 була випущена нова версія PHP4, в якій внутрішній «двигун» (Zend) був переписаний. Продуктивність нової версії в десятки разів вища, ніж у попередніх.

Традиційно динамічні WEB-сторінки реалізувались з використанням CGI-скриптів, написаних на Perl. Але CGI- скрипти дуже погано масштабуються. Кожний новий виклик CGI вимагає від ядра породження нового процесу, а це займає процесорний час і витрачає оперативну пам'ять. PHP пропонує інший варіант - вона працює як частина Web-сервера і цим схожа на ASP (Microsoft).

Синтаксис PHP аналогічний синтаксису С або Perl. В цій мові немає строгої типізації даних і немає необхідності в діях по виділенню/звілненні пам'яті. Програми, написані на PHP, достатньо легко читаються. Написаний PHP-код легко прочитати і зрозуміти.

Розглянемо деякі функціональні особливості мови PHP:

  • Робота з базами даних

Однією з відмітних особливостей мови PHP є інтеграція Web-сторінок з базами даних. В даний час підтримується достатньо широкий спектр баз даних в режимі роботи у власній системі команд і через ODBC: Oracle, Adabas D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC, Unix dbm, PostgreSQL.

  • Аутентифікація користувача засобами PHP

HTTP-аутентифікація користувача (клієнта) в мові PHP доступна тільки при використанні модуля Apache, в який включений PHP-скрипт, що використовує спеціальну функцію Header(). З її допомогою здійснюється відправлення повідомлення " Authentication Required" броузеру користувача, при цьому відкривається діалогове вікно Username/Password, в якому користувачу пропонується заповнити поля username і password. Після їхнього заповнення сервером здійснюється виклик URL-адреси користувача з додатковими змінними, що містять введену інформацію ($PHP_AUTH_USER $PHP_AUTH_PW і $PHP_AUTH_TYPE).

Ім'я користувача і введені ним параметри можуть бути зафіксовані в базі даних чи у dbm-файлі. При повторних звертаннях дані користувача не запитуються.

Можливе використання пароля доступу до матеріалів сервера.

 

 

Завантаження файлів

PHP може приймати файли, завантажені з будь-якого броузера, що відповідає стандартам RFC-1867 (Netscape Navigator 3, Microsoft Internet Explorer 3 і вище). Ця функція надає користувачу можливість завантажувати файли. PHP-аутентифікація і функції маніпулювання файлами забезпечують контроль над тим, кому дозволяється завантажувати файли і які операції можна виконувати з файлом, якщо він був завантажений.

URL_ повинен вказати на php html файл. Сховане поле MAX_FILE_SIZE повинне передувати полю введення файлу й означає максимально допустимий розмір файлу.

Значення визначається в байтах. Для цього файлу при успішному завантаженні будуть визначені наступні змінні:

­ $userfile - Тимчасове ім'я файлу, під яким файл завантажується в машину сервера.

­ $userfile_name - Вихідне ім'я файлу в системі відправника.

­ $userfile_size - Розмір завантаженого файлу в байтах.

­ $userfile_type - Тип MIME файлу, якщо броузер надав цю інформацію.

Наприклад, може бути " image/gif".

Елемент вищезгаданих змінних " $userfile" - це будь-яке значення поля Name тега INPUT TYPE=file, зазначене у формі завантаження. У наведеному вище прикладі форми завантаження названі " userfile".

Файли будуть збережені в заданому по замовчуванню тимчасовому каталозі Web-сервера. Його можна змінити встановленням змінного середовища TMPDIR у середовищі, у якому виконується PHP. Скрипт PHP завантаженого файлу повинен визначити операції, що можуть виконуватися із завантаженим файлом.

Створення GIF-файлів за допомогою PHP

PHP може також використовуватися для створення файлів GIF з зображенням чи потоками зображень GIF (анімація). Для цього необхідно скомпілювати PHP з бібліотекою функцій зображень - GD.

HTTP Кукіси (Cookies)

 PHP підтримує HTTP Cookie, як це визначено в Nеtsсаре's Spec. Cookie - це механізм для збереження даних у вилученому броузері, що використовується для підтримки процедури обміну чи ідентифікації відповіді користувачів. Кукіси можна встановлювати, використовуючи функцію SetCookie(). Вони є частиною HTTP-заголовка, тому функція SetCookie() повинна викликатися перш, ніж броузеру буде послана будь-яка інформація для виведення. Це обмеження, стосується і функції Header().

Будь-який кукіс, посланий від клієнта, буде автоматично перетворений у змінну PHP. Якщо необхідно присвоїти множинне значення одиничному кукісу, до його імені додаються квадратні дужки [ ].

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...