goba Mon Aug 20 11:35:41 2001 EDT Modified files: /phpdoc/hu/functions outcontrol.xml Log: Adding new outcontrol translation by Heilig Szabolcs :))
Index: phpdoc/hu/functions/outcontrol.xml diff -u /dev/null phpdoc/hu/functions/outcontrol.xml:1.3 --- /dev/null Mon Aug 20 11:35:41 2001 +++ phpdoc/hu/functions/outcontrol.xml Mon Aug 20 11:35:41 2001 @@ -0,0 +1,453 @@ +<?xml encoding="iso-8859-2"?> + + <reference id="ref.outcontrol"> + <title>Kimenet Szabályozó Függvények</title> + <titleabbrev>Kimenet Szabályzás</titleabbrev> + + <partintro> + <para> + A kimenet szabályzó függvények teszik lehetővé, hogy teljes + kontrolt szerezzünk afelett, mikor kerüljon a PHP + script futásának eredménye a kimenetre, azaz Apache + modulként pl. mikor adja azt át ezt a webszervernek. + Hasznos ez akkor, amikor fejlécadatokat akarunk + még létrehozni/módosítani, miközben már + a html lap genegrálásának közepén járunk. Eme kimenetvezérlő + függvények nincsenek hatással a <function>header</function> + vagy a <function>setcookie</function> által létrehozott fejléc + adatokra, csakis a törzsben található, <function>echo</function> + vagy egyéb függvények által generált kimenetre, valamint + a php kódon kívüli statikus részekre (azaz amik a <? + > jeleken kívül találhatóak). + </para> + <para> + <example> + <title>Kimenet Szabályzás Példa</title> + <programlisting role="php"> +<?php + +ob_start(); +echo "Szia\n"; + +setcookie ("sutineve", "sutiadat"); + +ob_end_flush(); + +?> + </programlisting> + </example> + </para> + <para> + A fenti példában az echo által generált szöveg a pufferben + várakozik mindaddig, amíg egy <function>ob_end_flush</function + parancs nem érkezik. Mindeközben a <function>setcookie</function> + által generált fejlécsor minden hiba nélül elmegy a böngésző + felé (ez amúgy lehetetlen volna, mivel az echo már a webszerver + felé küldött adatok törzsébe dolgozna, így a fejlécbe + írni már lehetetlenség lenne). + </para> + <para> + Lásd még: <function>header</function> és + <function>setcookie</function>. + </para> + </partintro> + + <refentry id="function.flush"> + <refnamediv> + <refname>flush</refname> + <refpurpose>A kimeneti puffer üritése</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>flush</function></funcdef> + <void/> + </funcprototype> + </funcsynopsis> + <simpara> + Ezzel a függvénnyel tudjuk kényszeríteni a php kimenetét + esetlegesen pufferelő programnak (ez lehet a CGI réteg, + avagyon a webszerver például), hogy azonnal ürítse ezt + a puffert. Gyakorlatilag ez annyit jelent, hogy az adatok + azonnal elindulnak a böngésző fele. + </simpara> + <note> + <para> + A <function>flush</function> nincs hatással a php + saját pufferelési rendszerére, sem a böngésző + esetleges pufferelési mechanizmusára. + </para> + <para> + Bizonyos szerverek, példának okáért a Win32 alatt futók + ennek ellenére is pufferelik a php-től kapott kimenetet, + amíg annak futása be nem fejeződik. + </para> + <para> + Az is lehetséges még, hogy a böngésző maga puffereli a + kapott adatokat. Például a Netscape a kapott html-t + puffereli, amíg egy sorvége jellel nem találkozik, + vagy egy html címke kezdetét nem látja. Emellett + a táblázatokat csak a </table> zárócímke + megérkezése után rajzolja csak ki. + </para> + </note> + </refsect1> + </refentry> + + <refentry id="function.ob-start"> + <refnamediv> + <refname>ob_start</refname> + <refpurpose>A kimenet pufferelés bekapcsolása</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ob_start</function></funcdef> + <paramdef>string + <parameter> + <optional>output_callback</optional> + </parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + Ezzel a függvénnyel kapcsolhatjuk be a PHP saját belső + kimenet pufferelési mechanizmusát. Ameddig a kimenet + pufferelés be van kapcsolva, a fejlécadatokon kívül + semmiféle kimenet nem hagyja el a PHP háza tájékát, + az egy belső pufferben tárolódik. + </para> + <para> + Ennek a puffernek a tartalma az <function>ob_get_contents</function> + függvény segítségével változóba másolható. Ha végül szeretnénk + a puffer tartalmát kiadni a php kezéből, akkor jön szóba az + <function>ob_end_flush</function>. Ha valamiért menet közben + úgy döntünk, a puffer tartalma mégis felesleges, az + <function>ob_end_clean</function> csendben és titokban + megsemmisíti a pufferünket tartalmastól, nem hagyja el egy + bájt sem ekkor a php-t. + </para> + <para> + Az itt <parameter>output_callback</parameter> néven nevezett + második, opcionális paraméter segítségével megadhatunk egy + függvényt, melynek egy string típusú adatot kell paraméterként + fogadnia, és ugyancsak stringet kell visszaadnia. Ez a + megadható függvény akkor hívódik meg, amikor az + <function>ob_end_flush</function> meghívásra kerül, vagy a + script végeztével a kimeneti puffer ürítésekor, + automatikusan. Ekkor megkapja ez az <parameter>output_callback</parameter> + paraméterben megadott függvény a puffer tartalmát, ezzel + eljátszhadozhat, majd visszaadja a játszadozás eredményét, + és ez kerül végül a php kimenetére. + </para> + <note> + <para> + A 4.0.4-es PHP verziótól felfele létezik egy + <function>ob_gzhandler</function> nevű beépített php függvény, + mely segítségével gz tömörített formában küldhetjük el + adatainkat a böngésző fele. Az <function>ob_gzhandler</function> + erre csak akkor vetemedik, ha úgy találja, a böngésző ezt + a gzip kódolt formátumot elfogadja. Ezt a függvényt tehát + az <function>ob_start</function> második paramétereként megadva + használhatjuk fel. + </para> + </note> + <para> + A pufferek egymásba ágyazhatóak, azaz miközben már + van aktív kimeneti pufferünk, hozhatunk létre még + egyet. Viszont ez esetben biztosnak kell lennünk + abban, hogy az <function>ob_end_flush</function> + megfelelő számban meg legyen hívva. Ha több + <parameter>output_callback</parameter> is meg van ilyenkor + adva, mindegyik pufferhez másfajta, akkor azok + mind sorban végrehajtódnak az egymásba ágyazottság + sorrendjében. + </para> + <example> + <title>Felhasználó által írt puffermódosító függvény használata</title> + <programlisting role="php"> +<?php + +function callback($buffer) { + + // minden sört borra cserélünk + return (ereg_replace("Sörre", "Borra", $buffer)); + +} + +ob_start("callback"); + +?> + +<html> +<body> +<p>Sörre bor, mindenkor! +</body> +</html> + +<?php + +ob_end_flush(); + +?> + </programlisting> + </example> + <para> + A következő kimenet jön létre: + <informalexample> + <programlisting role="php"> +<html> +<body> +<p>Borra bor, mindenkor! +</body> +</html> + </programlisting> + </informalexample> + </para> + <para> + Lásd még: <function>ob_get_contents</function>, + <function>ob_end_flush</function>, + <function>ob_end_clean</function>, + <function>ob_implicit_flush</function> és + <function>ob_gzhandler</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.ob-get-contents"> + <refnamediv> + <refname>ob_get_contents</refname> + <refpurpose> + A kimeneti puffer tartalmának kinyerése + </refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ob_get_contents</function></funcdef> + <void/> + </funcprototype> + </funcsynopsis> + <para> + A kimeneti puffer tartalmát adja vissza, vagy &false; értéket, + ha a kimeneti puffer mechanizmus nem aktív. + </para> + <para> + Lásd még: <function>ob_start</function> és + <function>ob_get_length</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.ob-get-length"> + <refnamediv> + <refname>ob_get_length</refname> + <refpurpose> + A kimeneti puffer aktuális méretének kiolvasása + </refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ob_get_length</function></funcdef> + <void/> + </funcprototype> + </funcsynopsis> + <para> + Eme függvénnyel tudjuk megállapítani, milyen méretű jelenleg + a kimeneti puffer, azaz mennyi kiküldésre váró adat van benne. + Ha nem aktív a kimeneti pufferelés a visszatérési érték + &false; lesz. + </para> + <para> + Lásd még: <function>ob_start</function> és + <function>ob_get_contents</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.ob-gzhandler"> + <refnamediv> + <refname>ob_gzhandler</refname> + <refpurpose> + ob_start függvényhez használatos, kimenet gzip-elő függvény + </refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ob_gzhandler</function></funcdef> + <paramdef>string <parameter>buffer</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <function>ob_gzhandler</function> függvény arra + lett létrehozva, hogy az <function>ob_start</function> + második paramétereként megadva megpróbálkozzon gzip + tömörítettre alakítva továbbítani a kimeneti puffert. + Próbálkozásról azért van csak szó, mert ezt a kódolást + csak akkor hajtja végre, ha a böngésző elfogadja ezt + a formátumot. Ezt az információt HTTP kérés fejlécében + küldi a böngésző, "Accept-Encoding" név alatt. Ha van ilyen + információ a böngészőről, és ennek értéke "gzip" vagy + "deflate", ennek megfelelően küldi a megfelelő + "Content-Type" fejlécet és a kódolt weblapot. + Ez böngészőfüggetlen meoldás, hisz a böngésző maga + közli, hogy hajlandó-e ilyen formában adatot + fogadni, vagy sem. + </para> + <para> + <example> + <title><function>ob_gzhandler</function> Példa</title> + <programlisting role="php"> +<?php + +ob_start("ob_gzhandler"); + +?> +<html> +<body> +<p>Ez egy tömörített oldal lesz (talán). :) +</html> +</body> + </programlisting> + </example> + </para> + <para> + Lásd még: <function>ob_start</function> és + <function>ob_end_flush</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.ob-end-flush"> + <refnamediv> + <refname>ob_end_flush</refname> + <refpurpose> + A kimeneti puffer ürítése (kiküldése), és a kimeneti pufferelés lekapcsolása + </refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ob_end_flush</function></funcdef> + <void/> + </funcprototype> + </funcsynopsis> + <para> + Eme függvény elküldi a kimeneti puffer tartamát a kimenetre, + majd kikapcsolja a pufferelést. Ha szükség lenne még a puffer + tartalmára esetlegesen későbbi míveletekhez, az + <function>ob_get_contents</function> függvény segítségével + tudjuk változóba menteni azt, mielőtt még az + <function>ob_end_flush</function> meghívásra kerülne. + </para> + <para> + Lásd még: <function>ob_start</function>, + <function>ob_get_contents</function>, és + <function>ob_end_clean</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.ob-end-clean"> + <refnamediv> + <refname>ob_end_clean</refname> + <refpurpose> + A kimeneti puffer törlése, és egyidejűleg a pufferelés kikapcsolása + </refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ob_end_clean</function></funcdef> + <void/> + </funcprototype> + </funcsynopsis> + <para> + Eme függvény alkalmazásával teljesen megsemmisíthetjük a + kimeneti puffer tartalmát, valamint megszüntethetjük + a pufferelést is egyben. + </para> + <para> + Lásd még: <function>ob_start</function> és + <function>ob_end_flush</function>. + </para> + </refsect1> + </refentry> + + <refentry id="function.ob-implicit-flush"> + <refnamediv> + <refname>ob_implicit_flush</refname> + <refpurpose> + Az implicit pufferürítés ki-be kapcsolása + </refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ob_implicit_flush</function></funcdef> + <paramdef>int + <parameter><optional>flag</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <function>ob_implicit_flush</function> segítségével + kapcsolható be vagy ki az implicit pufferürítés. + Az itt <parameter>flag</parameter> néven nevezett + opcionélis paraméter elhagyása esetén a + függvényhívása bekapcsolást jelent, amúgy értéke + "on" vagy "off" kell legyen. + Ha az implicit pufferürítés be van kapcsolva, + minden olyan mívelet után amely kimenetet + generál, meghívódik a <function>flush</function> + függvény, ezáltal a webszerver minden PHP kimeneti + parancs után továbbítani fogja azonnal a böngésző + fele az adott dokumentumrészletet. Ekkor a <function>flush</function> + hívogatsára természetszerűleg nincs szükség. + </para> + <para> + Ha bekapcsoljuk ezt az implicit pufferürítési + opciót, és ekkor aktív kimeneti pufferelés fut, + azaz már volt meghívva <function>ob_start</function> + függvény, ez a kimeneti pufferelés azonnal + kimenetre ürítéssel, valamint a kimeneti pufferelés + lekapcsolásával jár. Tehát mintha egy + <function>ob_end_flush</function> + függvényhívást alkalmaztunk volna. + </para> + <para> + Lásd még: <function>flush</function>, + <function>ob_start</function>, és + <function>ob_end_flush</function>. + </para> + </refsect1> + </refentry> + + </reference> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +-->