include

 

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

include 'ім'я_файлу'; 
include $file_name; 
include ("ім'я_файлу");

Нехай у файлі params.inc у нас зберігається набір якихось параметрів і функцій. Кожного разу, коли нам потрібно буде використовувати ці параметри (функції), ми будемо додавати до тексту нашої основної програми команду include 'params.inc'.

Приклад. Використання оператора включення include

params.inc 

<? Php 
$User = "Вася"; 
$Today = date ("d.m.y"); 
/ * Функція date () повертає дату 
і час (тут - дату в форматі 
день.місяць.рік) * / 
?> 

include.php

 <? Php 
include ("params.inc"); 
/* Змінні $User і $Today задані у файлі 
params.inc. Тут ми теж можемо ними 
користуватися завдяки команді 
include ("params.inc") * / 

echo "Привіт, $User! <br>"; 
// Виведе "Привіт, Вася!" 
echo "Сьогодні $Today"; 
// Виведе, наприклад, "Сьогодні 24.01.11"
?>

Зауважимо, що використання оператора include еквівалентно простий вставці змістовної частини файлу params.inc в код програми include.php. Справа в тому, що в момент вставки файлу відбувається перемикання з режиму обробки PHP в режим HTML. Тому код всередині файлу, який потрібно обробити як PHP-скрипт, повинен бути укладений у відповідні теги.

Пошук файлу для вставки відбувається за такими правилами.

  1. Спочатку ведеться пошук файлу в include_path поточної робочої директорії.
  2. Якщо файл не знайдений, то пошук виконується в include_path директорії поточного скрипта.
  3. Параметр include_path, визначається у файлі налаштувань PHP, задає імена директорій, в яких потрібно шукати файли, що включаються.

Наприклад, ваш include_path це поточна робоча директорія - / www /. В основний файл include.php ви включаєте файл my_dir / a.php, який у свою чергу включає b.php. Тоді парсер насамперед шукає файл b.php в директорії / www /, і якщо такого немає, то в директорії / www / my_dir /.

Якщо файл включений з допомогою include, то код що міститься в ньому успадковує область видимості змінних. Будь-які змінні включеного файлу будуть доступні в файлі з цього рядка і далі. Відповідно, якщо include з'являється всередині функції файлу, який викликає, то код, що міститься в включеному файлі, буде вести себе так, як ніби він був визначений всередині функції. Таким чином, він успадкує область видимості цієї функції. Хоча ми і не знайомилися ще з поняттям функції, все ж наводимо тут ці відомості в розрахунку на інтуїтивне його розуміння.

Приклад. Область видимості при використанні include .Нехай файл для вставки params.inc залишиться таким же, а include.php буде наступним:

<? Php 
function Footer () { 
// Оголошуємо функцію з ім'ям Footer 
include ("params.inc"); 
/* Включаємо файл params.inc. 
Тепер його змінними можна користуватися, 
але тільки всередині функції */ 
$str = "Сьогодні: $today <br>"; 
$str .= "<a 
href = 'mailto: help@intuit.ru'> Сторінку 
створив $user "; 
echo "$str"; 

Footer(); 
// Викликаємо функцію Footer (). Отримаємо: 
// Сьогодні: 08.07.05 
// Сторінку створив Вася 

echo "$user, $today"; 
// Нічого не виведе, так як 
// Ці змінні видно тільки 
// Всередині функції
 ?> 

Крім локальних файлів, за допомогою include можна включати і зовнішні файли, вказуючи їх url-адреси. Дана можливість контролюється директивою url_fopen_wrappers у файлі налаштувань PHP і за замовчуванням, як правило, включена. Але у версіях PHP для Windows до PHP 4.3.0 ця можливість не підтримується зовсім, незалежно від url_fopen_wrappers.

include () - це спеціальна мовна конструкція, тому при використанні всередині блоків її потрібно укладати у фігурні дужки.

Приклад. Використання include ()

<? Php 
/* Це невірний запис. Отримаємо помилку. 
Ми ж вставляємо не одну команду, 
а декілька, вони тільки записані 
в іншому файлі */ 
if ($condition) include ("first.php"); 
else include ("second.php"); 
// А ось так правильно. 
if ($ condition) {include ("first.php");} 
else {include ("second.php");} 
?> 
 

При використанні include можливо два види помилок - помилка вставки (наприклад, не можна знайти вказаний файл, невірно написана сама команда вставки тощо) або помилка виконання (якщо помилка міститься у файлі, що вставляється). У будь-якому випадку при помилці в команді include виконання скрипта не завершується.