Honlapok esetében néha nagyon hasznos megoldás tud lenni, ha a lap tartalmát (vagy egy részét) külső fájlból linkeljük be.

Milyen előnyei vannak?

1.) ha a honlap egy részét gyakran frissítjük, és mondjuk a HTML fájlunk elég nagy, kár lenne minden egyes esetben letöltenünk / módosítanunk / feltöltenünk, ha mi közben mondjuk csak egy kis részét akarjuk változtatni.

2.) Ha egy adott tartalom sok fájlban megjelenik, mindegyikben ugyanúgy, és nekünk vmi oknál fogva módosítani kell ezt a tartalmat (minden egyes fájlban), macerás lehet mindent letölteni, módosítani és visszatölteni.

Nézzünk 1-1 példát a fentiekre a könnyebb érthetőség kedvéért.

1.) van egy 100kb-os "gumikacsa.html" fájlom, melyen írom ki hogy mikor mi történt a lap frissítésével kapcsolatban. Ez a "hírek" rész amúgy mint szöveg, nem foglal el többet mint mondjuk 3kb.

Alapesetben minden egyes alkalommal le kell tölteni a 100kb-os "gumikacsa.html"-t, hozzáírni a hírt, visszatölteni a szerverre.

Ennél sokkal kényelmesebb megoldás, ha a híreket egy külön fájlban (pl. "hirek.txt") tároljuk, és a"gumikacsa.html"-be pedig csak egy kódot teszünk, hogy a böngészőben történő megjelenéskor a "hirek.txt" tartalmát is jelenítse meg. Így nekünk elég csak a 3kb-os txt-vel dolgoznunk.

2.) Van egy honlapunk, mely 100 különböző html lapból áll, és mi mindegyik aljára be akarjuk tenni a copyright szöveget meg mondjuk az Email címünket. Megdöglik az Email szolgáltatónk, mi úgy döntünk hogy áttérünk egy másik szolgáltató használatára, ez eddig még ok is. Viszont az új Email címünket végig kell cserélgetni mind a 100db html fájlban, ami nem kis munka.

Ezzel szemben ha a 100db html fájl aljára csak egy kódot teszünk hogy megnyitáskor a kód helyén mondjuk a "lapalja.txt" tartalma jelenjen meg, máris nyert ügyünk van. Elég azt az 1db "lapalja.txt" -t módosítanunk és frissítenünk a szerveren, onnantól kezdve mind a 100db html fájlunkban a módosított tartalom fog megjelenni.

Ilyen külső fájl tartalmának a beszúrásához én 2 módszert ismerek, de biztos van több is (például ASP-ben is biztos meg lehet oldani valami hasonló egyszerű megoldással).

1. megoldás

A PHP nyelv és az "include" használata.

Nem kell mást tennünk, mint azt a fájlnak (legyen mondjuk gumikacsa.html), melybe a külső fájlt majd be"include"oljuk (szép magyar szóval élve), adjunk egy "*.php" kiterjesztést az addigi "*.html" helyett. Tehát a "gumikacsa.html" helyett most már egy "gumikacsa.php" fájlunk lesz. Ha ezzel megvagyunk, tegyük be a forráskód tetszőleges részére (persze ott fog megjelenni a külső fájl tartalma) az alábbi PHP kódot:

<?php include "lapalja.txt"?>

Ez annyit fog csinálni, hogy a "lapalja.txt" tartalmát fogja megjeleníteni. Abban az esetben, ha a "gumikacsa.php" és a "lapalja.txt" nem egy könyvtárban van, használjuk a relatív hivatkozásokat.

például ha a "lapalja.txt" egy "tartalom" nevezetű alkönyvtárban van az alábbiak szerint:

*http://www.szervercime.hu/lapom/gumikacsa.php

http://www.szervercime.hu/lapom/tartalom/lapalja.txt*

akkor ennek megfelelően a "gumikacsa.php"-be az alábbi kódot kell majd beszúrni:

<?php include "tartalom/lapalja.txt"?>

A "lapalja.txt" tartalmának formázása ugyanúgy történik, mintha egy html fájl lenne, használjuk a <br>-t, a <b></b> stb... tag-eket nyugodtan, különösebb formai megkötése nincs.

Körülbelül ennyi lenne a PHP-s megoldás, ha bármiféle kérdésed van ezzel kapcsolatban, írj a fórumba :)

2. megoldás

A javascript használata, melyhez maradhat a fájlunk "html" kiterjesztésű. Az előző példánál maradva, van egy "gumikacsa.html" fájlunk, és egy "lapalja.txt"-nk. A html fájlba az alábbi kódot kell beillesztenünk.

<SCRIPT language=javascript src=lapalja.txt></SCRIPT>

A "lapalja.txt" fájl tartalma itt viszont már pár dolgot kötelező jelleggel kell hogy tartalmazzon. Valahogy így fog kinézni:

*// Begin Javascript Include

document.write('ide jön a beillesztendő szöveg')

// End Javascript Include*

Fontos, hogy a document.write-t ne hagyd le, másképp nem fog működni a dolog. Ha pl. több sorban szeretnéd kiiratni a szöveget, akkor a szokásos html tag-ek használata mehet a formai részen belül:

*// Begin Javascript Include

document.write('első sor<br>második sor<br>harmadik sor <B>kövér betűvel</B>')

// End Javascript Include*

Tehát mint láthatod, ha a kötelező document.write('') formát betartod, azon belül használhatók a szokásos html tag-ek.

Körülbelül ennyi lett volna a leírás, tudom nem valami bődületes dolog ez a 2 kis kód, de nagyon hasznosnak és sok esetben időspórolónak tartom őket.

Harder

Harder

Profil

Korábbi hozzászólások (4)

A régi blogon érkezett hozzászólások archívuma. Új hozzászólást már nem lehet írni.

  1. znetwww.znetwebdesign.extra.hu

    Isten vagy! Köszönöm!

  2. MapDesign

    php alá szerintem inkább ezt ha .txt tartalmat illesztünk be

    Hogy ez miért jobb mint az include?

    Az include-vel a php feldolgozó egy php programot vár. A file_get_contents pedig egyértelműen a behívandó ,,file.txt,, tartalmát illeszti be. És ezt akár függvénybe is tehetjük és str_replace();-val még szórakozhatunk vele..

    Tehát ha tagekből akarunk [b]-t csinálni pl .:

  3. Zoli

    Pontosan ilyet kerestem napok óta, de csak itt látom normálisan leírva, normális példával, ugyanis nincs angol tudásom szinte semmi, máshol meg a nagy szavakra hajtanak. Köszi a konyhanyelvi leírást Harder.

  4. boti

    nagyon jo

Van hozzáfűznivalód? Írj nekem közvetlenül.

Kapcsolat