Include (skládání stránek z kousků)

Upozornění: Tento článek byl napsán před mnoha lety a některé informace mohou být zastaralé, nebo nepravdivé. Při čtení na to, prosím, berte ohled.

V dnešním článku se naučíme načítat textové soubory ze složky a následně je jednoduše vypisovat.

Podporované formáty

Pozor, funkce include podporuje jenom volně šířitelné svobodné formáty, ve kterých je pouze prostý, neformátovaný text. Na př.: html, txt, php, asp a další… Texty typu Word nepodporuje, protože se nejedná čistě o textové soubory (datový typ: Plaint-text)

Skládání stránky – stejný obsah

Asi každý tvůrce většího webu čistě v HTML mi dá za pravdu, že jeho aktualizace není vůbec snadná. Celý proces webu je zhruba takový:

  • Autor vymyslí položky v menu a vytvoří odkazy na podstránky
  • Následně se všechny podstránky vytvoří se stejným menu
  • Pokud je potřeba přidat jen jedinou položku menu, tak je potřeba znovu projít všechny podstránky a ručně tam překopírovat to nové

Není to trochu otrava? PHP umí poměrně snadno kopírovat stejné části textů a zdrojových kódů do různých souborů. Nyní lze celé menu uložit na př. do souboru menu.html a následně jen uvádět načítací funkci include:

include ("menu.html");

Můžete načítat textový soubor, HTML a PHP stránku. Při načtení PHP stránky se vložené scripty spustí, takže můžete vykonávat i jejich obsah. To je ale někdy nebezpečné, protože to může lec-kdo zneužít (ale o tom jindy).

Skládání stránky – podobný obsah

Někdy potřebujete udělat jednoduchý web, kdy vypadají všechny stránky stejně, ale mění se jen určitá část. Typicky takto vypadají blogy – mají stejnou hlavičku, menu a patičku – jen obsah článků se mění.

Toto se dá řešit tak, že si vytvoříte jednu zobrazovací stránku a na místo článku vložíte funkci include, která bude jednotlivé články načítat ze složky (každý jako extra soubor). Podobně funguje i tento web.

Zdroják k redakčnímu systému

Tento kód předpokládá, že jsou všechny články uloženy ve složce clanky a jejich jméno je ve tvaru ________.html.

$clanek = $_GET[clanek]; // zjištění jména článku

include ("clanky/".$clanek.".html"); // vypsání článku

Celé to funguje tak, že script přijme jméno článku metodou GET (z URL adresy) a načte soubor tohoto jména. Jak funguje načítání z adresy jsem popisoval v předchozím článku.

include ("include-soubor.html");

Závěr

Obecně se dá říct, že funkce include poměrně dost zjednodušuje práci se stejnými daty a umožňuje jednoduše načítat jiné soubory a takto tvořit dynamický web. Umí ale pouze načítat soubory, ke kterým má přístup přes relativní adresu (tj. u vás na serveru), pokud si chcete načíst vzdálený text (třeba webovou stránku), tak musíte využít funkci file_get_conten­ts, to je ale zatím zbytečně složité.

Sponzorované odkazy
Pomohl Vám tento článek?