Externé súbory

Zahrňovanie externých súborov je jedna z najdôležitejších vecí, ktoré by ste mali na začiatok ovládať. PHP vďaka 4 funkciám dokáže pracovať aj s externými súbormi. Vhodné využitie sa objavuje pri požadovaní práce s viacerými súbormi, s ktorých by mohol byť jeden alebo jedna skupina ich primárnym cieľom pre čerpanie informácií resp. čerpanie informácií z externých skriptov. Tieto štyri funkcie sú include()include_once()require(), require_once().

1. Include()

Zahrnie požadovaný externý súbor, na ktorý odkazuje. Pri nejakej nezhode alebo chybe skriptu napr. pri neexistencií externého súboru skript pokračuje ďalej a neukončí svoju činnosť iba sa vypíše chybové hlásenie o neúspešnosti zahrnutia externého súboru.

2. Include_once()

V podstate je to to isté ako include ale zaistí zahrnutie súboru do skriptu iba jeden krát. Viac už externý súbor byť zahrnutý nemôže.

3. Require()

Zahrnie požadovaný externý súbor, na ktorý odkazuje. Pri nejakej nezhode alebo chybe skriptu napr. pri neexistencií externého súboru skript nepokračuje ďalej a ukončí svoju činnosť potom vypíše chybové hlásenie.

4. Require_once()

Tak ako u include_once aj toto je to isté, len s tým rozdielom, že require_once má tie isté vlastnosti ako obyčajné require.

Prípony _once majú v podstate takú funkciu aby zaistili zahrnutie súboru iba jeden krát v jednom skripte.

Všetky zahrnuté externé súbory neprijímajú výsledok od servera, ale od prehliadača, ak však v danom externom súbore nájdeme niečo čo bude napísané medzi znakmi <?php ?> a pod., tak to potom znamená, že náš prehliadač bude spracovávať externý súbor ako bežný prehliadač, čiže všetko prevedie do HTML podoby aj skripty PHP. Tým pádom môžete kľudne do include() (aj ostatných) zahrnúť PHP skripty, ktoré budú normálne spracované.

Príklad: obsah súboru subor.html
Tento skript je dlhý
Príklad: vloženie súboru subor.html do skriptu
include("subor.html");
Výsledok príkladu:

Tento skript je dlhý

Príklad: Porovnanie include a include_once
for($i=0; $i<2; $i++) include("files/subor.html");
echo "====";
for($i=0; $i<2; $i++) include_once("files/subor.html");
Výsledok príkladu:

Tento skript je dlhý
Tento skript je dlhý
====

Z výsledku predchádzajúceho príkladu vidíme, že v druhom cykle sa obsah súboru subor.html nezobrazil, pretože include_once zaistí zahrnutie súboru do skriptu iba jeden krát (súbor už bol zahrnutý pomocou include).