- •М іністерство освіти й науки україни Запорізький національний технічний університет методичні вказівки
- •Загальні відомості
- •Вимоги до оформлення звіту
- •1.1.2 Рядки
- •1.1.3 Файли
- •1.2 Завдання на виконання роботи
- •1.3 Контрольні питання
- •2 Лабораторна робота №2 Робота з формами
- •2.1 Теоретичні відомості
- •2.1.1 Інтерфейс Common Gateway Interface (cgi)
- •2.1.2 Форми
- •2.2 Завдання на виконання роботи
- •3.1.1 Функції php для роботи із скбд MySql
- •3.1.2 Установка скбд MySql
- •3.1.3 Основні команди мови sql
- •3.2 Завдання на виконання роботи
- •3.3 Контрольні питання
- •4 Лабораторна робота №4
1.1.2 Рядки
РНР включає безліч вбудованих функцій для керування і форматування рядків. Ці функції забезпечують методи визначення довжини рядка, пошуку підрядків у рядку, видалення пробілів у рядку, заміну підрядків, зміна регістра рядка і т.д.
Функція printf() запозичена з мови програмування С. Ця функція дає можливість надрукувати рядок і змінні будь-яким образом. Розглянемо наступний приклад:
printf("This is a formatted number: %d\n", 1957 );
Виводиться число 1957 у десятковому вигляді, що визначається специфікатором %d. Існують й інші специфікатори для функції printf(), наприклад, специфікатори, що будуть друкувати значення в шістнадцятирічному вигляді, у ASCII-вигляді, вісімковому, двійковому або у вигляді числа з плаваючою крапкою.
Функція strlen() повертає довжину рядка. Ця функція корисна для перевірки помилок і форматування. У наступному прикладі розглядається використання функції і тип інформації, що повертається нею:
$Test = "This is a test string";
print strlen($Test); // виводить число 21
Функція substr() повертає частину повного рядка, обумовлену цілим числом. Це ціле число задає кількість символів, що повертаються. Позитивне значення приводить до відліку символів від початку рядка, а негативне – до відліку від кінця рядка. Наприклад:
$date = "03-0ctober-1957";
$Test = substr ( $date, 10) print $Test;
// Виводить рядок "03-October"
Функцію trim() корисно використовувати для видалення в змінній зайвих символів або пробілів. Ця функція видаляє пробіли на початку і кінці рядка, наприклад:
$Test = " A String with spaces ";
$Test = trim($Test);
print $Test; // виводить рядок без пробілів
Функції strtoupper() і strtolower() перетворюють зазначений рядок, відповідно до верхнього і нижнього регістра. Часто при порівнянні рядків складно перевірити всі можливі випадки. Оскільки ці функції перетворять рядок до одного регістра, порівняння спрощується. Приклад використання функцій strtoupper() і strtolower():
$Test = "This Is A mIxEd Up StRiNg";
$Upper = strtoupper($Test);
print $Upper;
// виводить рядок "THIS IS A MIXED UP STRING"
$Lower = strtolower($Test);
print $Lower;
// виводить рядок "this is a mixed up string"
Функція explode() описана в такий спосіб:
array explode(string separator, string s);
Дана функція повертає масив рядків, у якому кожен елемент є фрагментом рядка s, відділеним символами, обумовленими через параметр separator. Наприклад:
$Arr = explode("," , "1,2,3"); // $Arr = (1, 2, 3)
1.1.3 Файли
Безперечно, доступ до файлів є важливою функцією практично у всіх мовах, але особливо він важливий при створенні Web-додатків. Мається на увазі те, що Web не має стану – звичайно програма завершує виконання і користувачу повертається документ HTML (виключення складають аплети; вони завершуються, коли користувач залишає Web-сторінку). Файли (і бази даних, що являють собою структуровані файли) дозволяють запам'ятовувати останнє відвідування користувача, або, у деяких випадках, його останню дію.
Доступ до файлів у РНР багато в чому нагадує подібного роду операції в мові С. Спочатку файл відкривається і змінної привласнюється повернутий покажчик файлу, після чого стає можливим читання і запис у файл (у залежності від використовуваного режиму) за допомогою доступу до його покажчика. Розглянемо приклад читання файлу і порядкову печатку його вмісту:
<?php
$fp = @fopen ("Strings.txt", "r") //Відкриття файлу
or die("Cannot Open File"); //Вихід якщо помилка
while ($line = @fgets ($fp, 1024))
{ //Читання рядка з файлу
print $line; //Друк ліченого рядка
}
@fclose($fp) //Закриття файлу
or die("Cannot Close File"); //Вихід, якщо помилка
?>
Операція @ може передувати будь-якому PHP-вираженню і вказує інтерпретатору на необхідність ігнорувати будь-які помилкові повідомлення.
Мовна конструкція die() має наступний прототип:
void die(sting message);
Ця функція виводить повідомлення і припиняє аналіз сценарію. Значення при цьому не повертається.
Функція fopen() відкриває покажчик файлу у файловій системі. Перший аргумент являє собою файл, що відкривається. Це може бути локальний файл, Web-адреса (повинна починатися з запису http:// і завершуватися слешем, тобто косою рискою /), або FTP-сервер (повинен починатися з запису ftp://). Другий аргумент задає режим, у якому необхідно відкрити файл. У даному випадку файл відкривається для читання. Нижче приводиться таблиця кодів, використовуваних для відкриття файлу, і відповідних їм режимів.
Таблиця 1.1 – Таблиця кодів, використовуваних для відкриття файлу
Код |
Режим |
"r" |
Відкриття з доступом для читання; покажчик файлу встановлюється на початок файлу. |
"r+" |
Відкриття з доступом для читання і запису; покажчик установлюється на початок файлу. |
"w" |
Відкриття з доступом для запису; покажчик установлюється на початок файлу. Якщо файл існує, його вміст видаляється. Якщо файл не існує, він створюється. |
"w+" |
Відкриття з доступом для читання і запису; покажчик установлюється на початок файлу. Якщо файл існує, його вміст видаляється. Якщо файл не існує, він створюється. |
"a" |
Відкриття з доступом для запису; покажчик встановлюється в кінець файлу. Якщо файл не існує, він створюється. |
"a+" |
Відкриття з доступом для читання і запису; покажчик встановлюється в кінець файлу. Якщо файл не існує, він створюється. |
Приєднання символу "b" до кожного з цих кодів повідомляє РНР, що файл двійковий. Це даремно для UNIX, однак необхідно для систем, подібних Windows, де між двійковими та ASCII-файлами існують визначені розходження. Крім того, при відкритті Web-адрес, або з'єднанні з FTP-серверами можна використовувати тільки режим "r".
Функція fopen() служить лише одним із засобів відкриття файлів. Для відкриття файлу і порядкового друкування його вмісту можна звернутися до функції file():
<?php
$f_contents = file("somefile.src");
foreach ($f_contents as $line)
{
print $line;
}
?>
Щоб уникнути деяких помилок при роботі з файловою системою, можна використовувати функцію file_exists(), що перевіряє існування файлу.
