Функція — це частина програмного коду, названа унікальним іменем (з точністю до регістра букв). Основне призначення функції — вирішення визначеної задачі. Виклик функції проходить від імені в різних місцях програми, що дозволяє багаторазово виклнувати фрагмент з вказаним іменем.

Очевидний позитивний ефект такого рішення, складається в тому, що блок кода пишеться тільки раз, а потім міняється коли це необхідно.

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

Синтаксис

function імя(аргументи)

{

тіло функції

}

Викликана функція буде містити таку ж кількість аргументів, як і в заявці.

Приклад

function foo($arg_1,$arg_2,$arg_n,) {

echo “Птиклад.\n”;

return $val;

}

В прикладі присутні наступні елементи

foo — імя функції;

$arg_1,$arg_2,$arg_n — аргументи функції;

$val — повернення значень функції.

Наступна функція зсумує дві змінні.

<?PHP function summa($a,$b){

$sum=$a+$b;

return$sum;

}

$rez=summa(10,16);echo “Сумма:”.$rez;

?>

Браузер покаже Сумма 26

Функція яка побудує таблицю

Приклад

<?PHP

function tab($lim){

echo “<table border=\”1\”>\n”;

for ($i=0; $i<=$lim; $i++) {

echo “<tr><td>стовбець”.$i”</td></tr>\n”;

}

echo “</table>”;

}tab(4);// таблиця з 5 рядками

?>

В вікні браузера відобразиться таблиця

стовбець 0
стовбець 1
стовбець 2
стовбець 4
стовбець 5

Робота з файлами

Серед функцій РНР присутні також і функції роботи з файлами.

Робота з файлами включає в себе три етапи

⇒відкриття файла

⇒обробка (читання, запис)

⇒ закривання файлу РНР може виконувати деякі операції з файлами, розташованими на сервері.

Це операції

⇒fopen()= відкрити вибраний файл

⇒fclose()= закрити файл

⇒fread()= читати вміст файлу

⇒fwrite()= запис в файл

⇒fillesize() = вказати розмір файлу.

Відкриття файлу

Відкриття файлу — здійснює функція fopen(). Синтаксис функції fopen():

fopen(param1, param2); 

param1= файл, шлях до файлу або адреса файла, який буде доступний.  

param2 = спосіб, яким буде відкритий файл, який може мати значення:

⇒ r = файл відкритий тільки для читання

⇒ r+ = файл відкритий тільки для читання і запису

⇒ w = файл відкритий тільки для запису

⇒ w+= файл відкритий для читання і запису, але якщо не має файлу він створюється

⇒ a = файл відкритий для додавання до завершення

⇒ а+ = файл відкритий для додавання до завершення, але якщо файлу не має він створюється.

⇒ t = файл відкритий в текстовому режимі

⇒ b = файл відкритий в бінарному режимі

Функція читання fread() файлу використовується наступним чином 

string.fread(resourse handle, int lenght)

Функція fread() читає lenght байт (довжина в байтах), починаючи з позиції, де розміщений файловий паказник handle. 

Читання закінчується по прочитанню lenght байт або досягненю файлу до кінця.

Приклад

$filename = “text/text”;

$handle=fopen($filename, “r”);

$contents=fread($handle, filesize($filename));

Запис в файл

Функція для запису в файл fwrite() використовується наступним чином

fwrite($handle,”вміст буде записаний в файл”);

Перевірка прав доступу до файлу

Функція яка перевіряє, чи доступний файл для запису, це is_writable:

is_writable($filename):

Ця функціямповертає значення true якщо дозволений доступ до файлу, і false, якщо завершена запис в файл.

Закриття файлу

Файл може бути закритий за допомогою функції fclose()

fclose($handle);

Приклади використання даних функцій.

Створюємо текстовий файл

Приклад використання функції fread().

<?PHP

$h = fopen(‘text.txt’,”r+”);

// відкриваємо файл для запису на читання

$content = fread($h,

filesize (‘text.txt’));

// зчитуємо вміст файлу

fclose($h);//закриваємо зєднання з файлом

echo $content;

//виводимо вміст файлу

//на екран браузера

?>

Приклад використання функції fwrite()

<?PHP

$filename = ‘text/txt’;

$somecontent = “Додати це до файлу\n”;

//Для початку переконаємось, що такий файл існує і доступний для запису,

if(is_writable($filename)) {

// Ми відкриваємо $somecontent в режимі “дописати в кінець”

// Таким чином, зміщення встановлено в кінець файлу і

// наш $somecontent допишемо в кінець при використанні fwrite().

if (!$handle = fopen($filename, ‘a’)){

echo “Неможливо відкрити файл ($filename)”;

exit;

}

//Записуємо $somecontent в наш відкритий файл.

if(fwrite($handle, $somecontent)=== FALSE) {

echo “Неможливо записати в файл ($filename)”;

exit;

}

echo “Виконана запис ($somecontent) в файл ($filename)”;

fclose($handle);

}else{

echo ” Файл $filename недоступний для запису”;

}

?> Приклад використання функції  fclose()

<?PHP $handle = fopen(‘text.txt’,’r’);

fclose($handle);

?>

Функція email

Використовуючи функцію mail(), ми можемо відправити через РНР електронну почту. Для реалізації цієї можливості використовується наступний синтаксис: 

mail(отримувач, тема, повідомлення, додатковий заголовок);

⇒ отримувач – адреса на яку буде відправлена почта, але якщо необхідно, почта може бути відправлена на декілька адрес, в такому випадку адреса може відділятись комою.

⇒ тема – інформація, яка відобразиться в полі тема;

⇒ повідомлення – вміст повідомлення

⇒додатковий заголовок – містить додаткову інформацію, наприклад: From, Cc, Bcc, яка буде розділена символами переводу рядка CRLF (\r\n).

Приклад модель відправки звичайної почти

<?PHP

$to=”test@mail.ru”;

$subiect=””;

$mesag .=””;

$headers = ‘MIME-Version:1.0’.”\r\n”;

$headers .=’Content–type: text/HTML;charset=iso-8859-1′.”\r\n”;

$headers .=’From: info@mail.ru’.”\r\n”;

$headers .=’Cc: cc@mail.ru’.”\r\n”;

$headers .=’Bcc: bcc@mail.ru’.”\r\n”;

mail($to, $subiect, $mesag, $headers);

?>

В кінці цієї сторінки  посилання  на публікації про елементи основані на РНР.