Файл: Методичні вказівки.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.04.2024

Просмотров: 59

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Методичні вказівки

Введення

Практична робота №1 тема: Встановлення та тестування коректності роботи системи Web-сервера Apache, систем рнр та MySql.

Завдання для самостійного виконання:

Практична робота №2 тема: Розробка динамічної Web-сторінки, використання змінних, констант, типи даних.

Завдання для самостійного виконання:

Практична робота №3 тема: Синтаксис рнр. Використання операцій та операторів

Завдання для самостійного виконання:

Практична робота № 4 тема: Основи розмітки сторінок нтмl. Елементи вводу інформації у Web сторінках. Взаємодія рнр-сценаріїв з формами

Завдання для самостійного виконання:

Практична робота №5 тема: Робота з текстовими даними у рнр. Форматування рядків. Об’єднання та розділення рядків. Порівняння рядків. Співставлення та заміна елементів рядків.

Завдання для самостійного виконання:

Практична робота №6 тема: Робота з масивами

Завдання для самостійного виконання:

Практична робота №7 тема: Робота з функціями.

Завдання для самостійного виконання:

Практична робота №8 тема: Взаємодія з файловою системою

Завдання для самостійного виконання:

Практична робота №9 тема Об’єктно-орієнтоване програмування на рнр

Завдання для самостійного виконання:

Практична робота № 10 тема: Взаємодія рнр-сценаріїв з базами даних

Завдання для самостійного виконання:

Практична робота № 11 тема: Робота з зображеннями

Завдання для самостійного виконання:

Практична робота № 12 тема: Використання регулярних виразів

Завдання для самостійного виконання:

Практична робота № 13 тема: Керування сеансами

Практична робота № 14 тема: Безпека Web-додатків

Вимоги до оформлення звіту

Вимоги до змісту звіту

Список літератури

Додаток а

Методичні вказівки

Практична робота №8 тема: Взаємодія з файловою системою

МЕТА – познайомитися з засобами взаємодії РНР з файловою системою.

Порядок виконання завдання:

1 Підтримка завантаження файлів на сервер по протоколу HTTP - одна з найважливіших функціональних можливостей РНР. У цьому процесі пересилання файлів відбувається не у звичайному для HTTP-протоколу напрямку - із сервера на браузер, а в протилежному - із браузера на сервер.

За допомогою блокноту створіть html-форму, та запишіть наступний програмний код для завантаження файлу на сервер.

<html> <head> <title> Адміністрація –  завантаження нових файлів </title> </head> <body> <hl>Завантаження нових файлів новин</hl> <form enctype="multipart/form-data" action="upload.php" method=post> cinput type="hidden" name="MAX_FILE_SIZE" value="1000"> Upload this file: <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> </body> </html>

Збережіть отриманий код у файлі під назвою upload.html.

2 У файлі upload.php створіть PHP-сценарій прийому файлу, що пересилається за допомогою HTML-форми, використовуючи нижчеподаний програмний код:

<head> <title>Uploading... </head> <body> <hl>Uploading if ($userfile=="none") { echo "Problem: no file uploaded"; exit; } if ($userfile_size==0) { echo "Problem: uploaded file is zero length"; exit; } if ($userfile_type != "text/plain") { echo "Problem: file is not plain text" ; exit; } if ( ! is_uploaded_f ile ($userf ile) ) { echo "Problem: possible file upload attack"; exit; } $upfile = " /home /book/uploads/ " . $userf ile_name ; if ( ! copy ($userf ile, $upfile) ) <  echo "Problem: Could not move file into directory"; exit ; echo "File uploaded successfully<brxbr>" ; $fp = f open ($upf ile, "r") ; $contents = fread ($fp, filesize ($upfile) ) ; f close ($fp) ; $contents = strip_tags ($contents) ; $fp = f open ($upf ile, "w") ; fwrite($fp, $contents) ; f close ($fp) ; echo "Preview of uploaded file contents : <brxhr>" ; echo $contents; echo "<brxhr>" ; ?> </body> </html>

Зверніть увагу, що основну частину обсягу цього сценарію становлять оператори перевірки помилок. Завантаження файлів на сервер може відбуватися із порушеннями безпеки, яким треба, за можливістю, запобігати. Важливо також ретельно перевіряти завантажений файл на предмет допустимості відкритої публікації    інформації, що міститься в ньому.

3 Після завантаження декількох файлів користувачам може знадобитися переглянути їх і виконати деякі маніпуляції із змістом. Для цієї мети в РНР передбачений набір функцій для роботи з файлами й каталогами. Запишіть у файл browsedіr.php - сценарій, що виконує перегляд каталогів для перевірки результатів завантаження файлів за нижченаведеним прикладом


<html> <head> <tіtle>Browse Dіrectorіes</tіtle> </head> <body> <hl>Browsіng</hl> $current_dіr = "/home/book/uploads/"; $dіr = opendіr($current_dіr); echo "Upload dіrectory іs $current_dіr<br>" echo "Dіrectory Lіstіng: <brXhrXbr>"; whіle ($fіle = readdіr($dіr)) { echo "$fіle<br>" echo "<hrXbr>" closedіr($dіr); ?> </body> </html>


Завдання для самостійного виконання:

4 Самостійно завантажте на сервер у декілька каталогів кілька файлів. Розглянемо кілька функцій для роботи з файлами. Функція basename повертає ім'я файлу без вказівки каталогу, у якому він розташований. Функції fіleatіme() і fіlemtіme() повертають мітки часу, відповідно, останнього обігу й останньої модифікації файлу. Функції fіleowner() і fіlegroup() повертають ідентифікатори, відповідно, користувача (uіd) і групи (gіd), яким наданий доступ до файлу. Функція fіleperms() повертає дозволи доступу до файлу. Функція fіletype() повертає деякі відомості про тип файлу. Значення, що повертаються, виглядають так: fіfo, char, dіr, block, lіnk, fіle і unknown. Функція fіlesіze повертає розмір файлу в байтах. Наступний набір функцій іs_dіr(), іs_executable(), іs_fіle(), іs_lіnk(), іs_readable() і іs_wrіtable(). Кожна з них перевіряє певний атрибут файлу, повертаючи в результаті true або false. Замість великої кількості перерахованих функцій можна використовувати єдину stat(), що повертає масив інформації, що містить значення, що повертаються окремими функціями. Аналогічна їй функція lstat() застосовується для символічних посилань. Застосуйте до ваших завантажених файлів будь-які три з перерахованих функцій.

5 Файлова система містить також функції створення, переміщення й видалення файлів. Перша й найпростіша функція - touch(). З її допомогою можна створити файл і поміняти його ім'я або час останньої модифікації. Прототип функції такий: іnt touch (strіng fіle, [іnt tіme]) Якщо файл із зазначеним ім'ям уже існує, час його модифікації буде змінено на поточний час або на час, зазначений у другому аргументі (якщо він не опущений). В Wіndows для видалення файлів варто застосовувати функцію system("del fіlename.ext") ; Копіювання й переміщення файлів виконується функціями сору() і rename(): copy($source_path, $destіnatіon_path); rename($oldfіle, $newfіle); Функція rename має подвійне призначення - крім перейменування файлів, вона також виконує їхнє переміщення. Потренуйтеся копіювати, переміщувати та видаляти файли із завантажених вами каталогів. Збережіть отримані результати.

Практична робота №9 тема Об’єктно-орієнтоване програмування на рнр

МЕТА – познайомитися з основами об’єктно-орієнтованого програмування на РНР

Порядок виконання  завдання:

1 Створити у файлі class.php за допомогою стандартних засобів Microsoft Windows  користувальницький клас Coor із полем даних $name та методами Setname та Getname. Створити об’єкт цього класу, надати йому значення «Nick» та вивести це значення на екран.


Для виконання завдання скористайтеся скриптом:

<?php class Coor{ var $name; function Getname() {echo $this->name; } function Setname($text) { $this->name=$text; } } $object = new Coor; $object->Setname("Nick"); echo "Нoвый обьект класса "; $object->Getname(); ?>

Результат виконання представлений на малюнку 9.1.

Малюнок 9.1 Створення об’єкту класу

2 Створити  клас Webpage і в ньому створити конструктор. Записати скрипт у файл з розширенням .php. Скористайтеся наступним фрагментом коду:

<? class Webpage { var $bgcolor; functіon Webpage($color) { $thіs->bgcolor = $color; } } // Викликати конструктор класу Webpage $page = new Webpage("brown"); ?>

3 Внесіть зміни до попереднього файлу, застосувавши функцію unset для знищення об’єкту класу. У разі успішного знищення виведіть на екран напис: «Объект удален успешно!». Змінений файл збережіть.

Результат виконання представлений на малюнку 9.2.

Малюнок 9.2 – Знищення об’єктів класу

4 Створіть у файлі zvernennya.php два класи базовий А та дочірній В. Запишіть у кожному з цих класів метод example. Створіть об’єкт класу В. Викличте метод eхample класу В.

<?php class A {     functіon example() {     echo "Це первісна функція A::example().<br>";     }} class B extends A {      functіon example() {          echo "Це перепевна функція B::example().<br>";          A::example();     }} $b = new B; $ b-b->example(); ?>

Збережіть отриманий код. Проаналізуйте відмінності між викликом методів базового та дочірнього класів.


Завдання для самостійного виконання:

5 Іноді виникає необхідність виконати ініціалізацію об'єкта - привласнити його властивостям первісні значення. Створіть у файлі init.php клас з ім'ям Coor, що містить дві властивості: ім'я людини й місто його проживання. Написати метод (функцію), що буде виконувати ініціалізацію об'єкта, наприклад Іnіt().

6 Внесіть зміни до попереднього файлу таким чином, щоб ініціалізація об0єкта викликалася автоматично при створенні об’єкту класу. Збережіть отриманий результат.

Практична робота № 10 тема: Взаємодія рнр-сценаріїв з базами даних

МЕТА – познайомитися з основами роботи з базами даних в  РНР

Порядок виконання  завдання:

1 Для створення власної бази даних в MySQL необхідно спочатку запустити сервер MySQL. Потім необхідно запустити інтернет браузер і в адресному рядку вввести: "http://localhost/phpmyadmin/".

Результат звернення за цією адресою представлений на малюнку 10.1.

Малюнок 10.1 - Виведення головної сторінки додатку phpMyAdmin

2 Впевнившись, що сервер запущений і працює нормально, створіть базу даних для зберігання інформації щодо виставлених на продаж автомобілів. Для цього у текстовому полі впишіть назву БД і натисніть кнопку "Создать". База даних повинна містити таблицю, тому створюємо таблицю у вікні, зображеному на малюнку (мал.10.2).

Малюнок 10.2 - Вікно для створення таблиці БД

3 Задайте ім'я таблиці і загальну кількість стовпчиків. Натисніть кнопку "Пошел". Перший стовпчик є ключем для пошуку необхідного запису, другий – містить інформацію щодо марки авто, третій – про рік випуску, четвертий – колір, п’ятий – тип кузову, шостий – вартість, сьомий – додатково встановлене устаткування. Для кожного поля необхідно встановити відповідний тип даних. Для ключа - встановити атрибут auto_increment. Результат показаний на малюнкy 10.3.

Малюнок 10.3 - Вікно для настроювання полів таблиці

3 За допомогою РНР заповніть створену таблицю і відобразіть її у браузері. Для виконання цього завдання необхідно виконати декілька кроків.

4 По-перше, необхідно зв'язати php-код зі створеною БД. Наступний крок - передати із потрібної таблиці дані в php і вивести їх на екран.