Ob_start – Kimeneti pufferelés engedélyezése. Az ob_start használata a php projektek támogatásakor Gyenge keresés php start

Indítsa el a Keresést egy böngésző-gépeltérítő, amelyet más ingyenes letöltéseken keresztül népszerűsítenek, és a telepítés után a böngésző kezdőlapját a következőre változtatja. start-search.com search.yahoo.com.

A start-search.com kezdőlapja hirdetéseket és szponzorált linkeket jelenít meg a keresési eredmények között, és keresési kifejezéseket gyűjthet a keresési lekérdezésekből. A start-search.com eltérítését a hirdetési bevételek növelésére használják, mint például a blackhat SEO használatánál, hogy növeljék a webhely oldalainak rangsorolását a keresési eredmények között.

A Start Search technikailag nem vírus, de rengeteg rosszindulatú tulajdonsággal rendelkezik, mint például a rootkit képesség, amellyel mélyen behatol az operációs rendszerbe, a böngésző eltérítése, és általában csak zavarja a felhasználói élményt. Az iparág általában „PUP”-ként vagy potenciálisan nemkívánatos programként emlegeti.
A Start Search egy hirdetésekkel támogatott (a felhasználók további szalaghirdetéseket, keresési, pop-up, pop-under, közbeiktatott és szöveges linkekre vonatkozó hirdetéseket láthatnak), több böngészőbővítmény Internet Explorerhez (BHO) és Firefox/Chrome-hoz (plugin) és telepítés során különféle bevételszerzési platformokon keresztül terjesztve. A böngészőbővítmény különféle funkciókat tartalmaz, amelyek módosítják a böngésző alapértelmezett vagy egyéni beállításait, beleértve a kezdőlapot, a keresési beállításokat, és bizonyos esetekben módosítják az Internet Explorer betöltési idejének küszöbét, zárfájlt helyeznek el a Firefoxban, hogy megakadályozzák a konkurens szoftverek beállításait. valamint letiltja a böngésző tartalombiztonsági szabályzatát, hogy lehetővé tegye a bővítmény webhelyek közötti szkriptelését.

A Start Search kezdőlapja azután került a számítógépére, hogy telepített egy ingyenes szoftvert (videórögzítő/streamelő, letöltés-kezelő vagy PDF-készítő), amely a böngészőgép-eltérítőt a telepítéséhez csatolta.
Például a VPlay telepítésekor beleegyezik abba is, hogy a böngésző kezdőlapját a következőre módosítsa start-search.comés alapértelmezett keresőmotorhoz search.yahoo.com


Ha azonban eltávolítja a VPlay-t a számítógépről, a webböngésző alapértelmezett beállításai nem állnak vissza. Ez azt jelenti, hogy manuálisan kell eltávolítania a start-search.com kezdőlapját kedvenc webböngészőjéből.

Neked kellene mindig figyeljen a szoftver telepítésekor mert a szoftvertelepítők gyakran tartalmaznak opcionális telepítéseket, például ezt a start-search.com böngésző-eltérítőt. Nagyon ügyeljen arra, hogy mit fogad el a telepítésben.
Mindig válassza az egyedi telepítéstés törölje a jelölést minden nem ismerős dologról, különösen az opcionális szoftverekről, amelyeket eleve nem akart letölteni és telepíteni. Magától értetődik, hogy ne telepítsen olyan szoftvert, amelyben nem bízik.

A start-search.com (Víruseltávolítási útmutató) eltávolítása

Ez az oldal egy átfogó útmutató, amely eltávolítja a start-search.com webhelyet az Internet Explorer, Firefox és Google Chrome böngészőkből.
Kérjük, hajtsa végre az összes lépést a megfelelő sorrendben. Ha bármilyen kérdése vagy kétsége van, ÁLLJ MEGés kérje a segítségünket.




1. LÉPÉS: Távolítsa el a start-search.com rosszindulatú programjait a számítógépéről

Ebben az első lépésben megpróbáljuk azonosítani és eltávolítani a számítógépére esetleg telepített rosszindulatú programokat.

Ha problémái vannak a start-search.com program eltávolítása közben, akkor a segítségével teljesen eltávolíthatja ezt a nem kívánt programot a számítógépről.

2. LÉPÉS: Távolítsa el a start-search.com vírust az Internet Explorer, Firefox és Google Chrome böngészőből

Távolítsa el a start-search.com vírust az Internet Explorerből

Visszaállíthatja az Internet Explorer beállításait, hogy visszaállítsa azokat az állapotokat, amelyekben az Internet Explorer először telepítve volt a számítógépére.

Távolítsa el a start-search.com vírust a Mozilla Firefox böngészőből

Ha problémái vannak a Firefox használatával, a visszaállítás segíthet. A visszaállítási hibajavítás számos problémát vet fel, mivel visszaállítja a Firefoxot a gyári alapértelmezett állapotra, miközben elmenti az alapvető információkat, például a könyvjelzőket, jelszavakat, az internetes űrlapok automatikus kitöltési adatait, a böngészési előzményeket és a megnyitott lapokat.

jegyzet: Régi Firefox-profilja az asztalon egy "" nevű mappába kerül. Régi Firefox adatok“. Ha az alaphelyzetbe állítás nem oldotta meg a problémát, a nem mentett információk egy részét visszaállíthatja úgy, hogy átmásolja a fájlokat a létrehozott új profilba. Ha már nincs szüksége erre a mappára, törölje, mivel bizalmas információkat tartalmaz.

Távolítsa el a start-search.com vírust a Google Chrome-ból

3. LÉPÉS: Távolítsa el a start-search.com böngésző-gépeltérítőt az AdwCleaner segítségével

Az AdwCleaner segédprogram átvizsgálja számítógépét és webböngészőjét a „start-search.com” rosszindulatú fájlok, böngészőbővítmények és rendszerleíró kulcsok után, amelyek az Ön tudta nélkül telepíthetők a számítógépére.

4. LÉPÉS: Távolítsa el a start-search.com vírust a számítógépéről a Malwarebytes Anti-Malware Free segítségével

A Malwarebytes Anti-Malware Free iparágvezető technológiát használ a rosszindulatú programok minden nyomának észlelésére és eltávolítására, beleértve a férgeket, trójaiakat, rootkiteket, csalókat, tárcsázókat, kémprogramokat és még sok mást.
Fontos megjegyezni, hogy a Malwarebytes Anti-Malware jól működik, és konfliktusok nélkül kell futnia a víruskereső szoftverekkel együtt.

  1. Letöltheti töltse le a Malwarebytes Anti-Malware programot az alábbi linkről.
    (Ez a link egy új weboldalt nyit meg, ahonnan letöltheti a Malwarebytes Anti-Malware Free-t)
  2. A letöltés után zárja be az összes programot, majd kattintson duplán az asztalon a „ mbam-setup-consumer-2.00.xx” a Malwarebytes Anti-Malware telepítésének megkezdéséhez.

    Előfordulhat, hogy megjelenik egy Felhasználói fiókok felügyelete párbeszédpanel, amely megkérdezi, hogy szeretné-e futtatni ezt a fájlt. Ha ez megtörténik, kattintson a „ Igen” a telepítés folytatásához.
  3. A telepítés megkezdésekor látni fogja a amely végigvezeti Önt a telepítési folyamaton.


    A Malwarebytes Anti-Malware telepítéséhez a számítógépen, továbbra is kövesse az utasításokat a „ Következő” gombot.

  4. A telepítést követően a Malwarebytes Anti-Malware automatikusan elindul, és megjelenik egy üzenet, amely szerint frissítenie kell a programot, és még soha nem futott vizsgálat a rendszeren. A rendszervizsgálat elindításához kattintson a „ Javítás most” gombot.


    Alternatív megoldásként kattintson a „ Letapogatás"Tabulátor és válassza ki" Threat Scan", majd kattintson a "Szkenneld most" gomb.

  5. A Malwarebytes Anti-Malware most ellenőrzi a frissítéseket, és ha vannak ilyenek, rá kell kattintania a „ Frissítse most” gombot.

  6. A Malwarebytes Anti-Malware most elkezdi vizsgálni a számítógépet a start-search.com vírus keresésére. Amikor a Malwarebytes Anti-Malware vizsgálja, az az alábbi képhez hasonlóan fog kinézni.

  7. Amikor a vizsgálat befejeződött, megjelenik egy képernyő, amely megmutatja a Malwarebytes’ Anti-Malware által észlelt rosszindulatú programfertőzéseket. A Malwarebytes Anti-malware által talált rosszindulatú programok eltávolításához kattintson a „ Karantén minden” gombra, majd kattintson a „ Jelentkezz most” gombot.


    Felhívjuk figyelmét, hogy a talált fertőzések eltérhetnek a képen láthatótól.
  8. A Malwarebytes Anti-Malware mostantól karanténba helyezi az összes talált rosszindulatú fájlt és rendszerleíró kulcsot. A fájlok eltávolításakor a Malwarebytes Anti-Malware újraindítást igényelhet némelyikük eltávolításához. Ha megjelenik egy üzenet, miszerint újra kell indítania a számítógépet, kérjük, engedje meg.


    A számítógép újraindítása után nyissa meg a Malwarebytes Anti-Malware programot, és hajtson végre egy újabb „Threat Scan” vizsgálatot, hogy ellenőrizze, nincsenek-e fennmaradó fenyegetések.

5. LÉPÉS: Ellenőrizze újra a start-search.com fertőzést a HitmanPro segítségével

A HitmanPro egy második véleményvizsgáló, amelyet arra terveztek, hogy megmentse számítógépét a rosszindulatú programoktól (vírusok, trójaiak, rootkitek stb.), amelyek megfertőzték a számítógépet az összes biztonsági intézkedés (például vírusirtó szoftver, tűzfal stb.) ellenére. A HitmanPro úgy lett kialakítva, hogy a meglévő biztonsági programokkal együtt működjön konfliktusok nélkül. Gyorsan átvizsgálja a számítógépet (kevesebb, mint 5 perc), és nem lassítja le a számítógépet.

Bevezetés

A Linux Xubuntu 10.04 (lucid) verzióján alapuló Balsa rendszer béta szoftverként használható. Ez az oldal elmondja, hogy mire van szüksége a Balsa letöltéséhez és futtatásához, majd rámutat az erre vonatkozó utasításokra.

A Balsa SD-kártyát használ a számítógépen való futtatáshoz. Az SD-kártyára Balsa rendszert kell helyezni, mielőtt a Balsa futtatására használható.

Előállíthat egy Balsa SD-kártyát egy számítógépen, és futtathatja egy másik számítógépen. A számítógépen, amelyen előállítja, nem kell magát a Balsát futtatnia.

Mi kell a Balsa futtatásához

A Balsa futtatásához a következőkre lesz szüksége:

A Balsa SD kártya előállításához a számítógépnek, amelyen előállítja, 5 vagy 9 gigabájtnyi területre lesz szüksége a kártya építése közben.

Megjegyzés az SD-kártyaolvasókról

Egyes régebbi laptopokon az SD-olvasó nem tud kezelni egy 4 vagy 8 gigabájtos SD-kártyát. Más SD-kártyaolvasók, amelyeket egyes Dell számítógépek használnak, nem működnek együtt a Balsa rendszerrel. A Balsa mindkét esetben futtatható külön USB SD kártyaolvasón.

A Balsa SD kártyák 4 vagy 8 gigabájtos változatban kaphatók. Bármelyik verzió elkészíthető Windows vagy Linux gépen. Mind a Windows, mind a Linux ugyanazt a letöltött fájlt használja a kártyához, és a beépített kártya azonos lesz a másik rendszeren lévővel. Válasszon ezek közül egyet.

A PHP számos olyan funkciót kínál, amelyek egy karakterláncot keresnek a másikban. Néhányan visszaadják a talált karakterlánc helyét (strpos , strrpos és kapcsolódó), és visszaadják az eredeti karakterlánc egy részét (strstr és strrchr). A keresési függvények false értéket adnak vissza, ha a keresett karakterlánc nem található az eredetiben.

Ha a cél egyszerűen annak megállapítása, hogy egy karakterlánc létezik-e a másikban, akkor a leghatékonyabb lehetőség az strpos .

strpos

Az strpos függvény az első karakterlánc-argumentumban keresi a másodikat, és visszaadja a karakterláncon belüli első egyezés nulla alapú indexhelyét, vagy hamis értéket, ha nem található. A következő példa bemutatja:

$str = ; // a "need" első előfordulásának keresése a $str$pos = strpos($str, "szükség"); // $pos megjelenítési típusa és értéke var_dump ($pos) ; int(3)

Bár az eredményt fent a var_dump segítségével mutattuk be, az strpos visszatérési értékének tipikus vizsgálata a következőképpen történik:

// hogyan kell megvizsgálni az strpos visszatérési értéket ($pos) if ( $pos !== false ) ( // if search string found echo "találtam a $pos helyen" ; ) else ( echo "nem található." ; )

Ügyeljen arra, hogy az === vagy a !== operátort használja az strpos függvény visszatérési értékének false értékéhez való hasonlításához. Ha a karakterlánc a karakterlánc elején található, az strpos 0 -t ad vissza, amit az == vagy != operátorok hamissá alakítaná át.

Megadhat egy eltolást, hogy a keresést meghatározott számú karakterrel kezdje meg a karakterlánc elejétől, amint ezt ez a példa mutatja:

/* strpos argumentumok: * tárgy karakterlánc (más néven szénakazal), keresési karakterlánc (tű), eltolás (opcionális) */ // a "need" keresésének indítása a $str 10. karakterétől$pos = strpos ($str , "szükség" , 10 ) ; 20

Ha a keresést a 10-es karakterről indítjuk, az eredmény a 20, a tű szókezdő index helye.

strrpos

Az strrpos függvény megkeresi egy részkarakterlánc utolsó előfordulásának helyét a karakterláncban:

// példa karakterlánc a keresésekhez$str = – Meg kell találnunk a tűt a szénakazalban.; // a "need" utolsó előfordulásának helyének megkeresése a $str$pos = strrpos ($str , "szükség" ) ; 20

Az strrpos függvény opcionális offset paramétert is biztosít, amely lehet pozitív vagy negatív. Ha az eltolás pozitív, akkor a karakterlánc elején lévő karakterek száma kizárásra kerül a keresésből. Tekintsük a következő példát:

// keresés jobbról a "Mi" kifejezésre, az első 3 karakter kivételével$pos = strrpos ($str , "Mi" , 3 ) ; var_dump ($pos) ; //bool(false)

Az eredmény hamis, mivel a "Mi" nem található, ha a keresés kizárja az első három karaktert.

Ha az eltolás negatív, akkor a karakterlánc végén lévő sok karakter kimarad a keresésből. Két kereséssel demonstráljuk, amelyek negatív eltolást adnak meg:

// keresés jobbról a "hay" kifejezésre, az utolsó 5 karakter kivételével$pos = strrpos ($str , "széna" , - 5 ) ; int(34) // keresés jobbról az utolsó 10 karakter kivételével$pos = strrpos ($str , "széna" , - 10 ) ; //bool(false)

A fenti utolsó eredmény hamis, mivel a "hay" nem található, ha a keresés kizárja az utolsó 10 karaktert.

Figyeljük meg, hogy az strrpos függvény visszatérési értéke a karakterlánc elejétől adja meg a helyet, még akkor is, ha a keresés jobbról indul.

sztriptíz és sztriptíz

Az strpos és strrpos függvények kis- és nagybetűkre érzékeny keresést hajtanak végre. A PHP stripos és strripos függvényeket biztosít a kis- és nagybetűk megkülönböztetésére szolgáló keresések végrehajtásához. Ugyanúgy működnek, mint a kis- és nagybetűket megkülönböztető megfelelőik:

// példa karakterlánc a keresésekhez$str = – Meg kell találnunk a tűt a szénakazalban.; // a kis- és nagybetűk megkülönböztetése nélkül keres a "mi" kifejezésre$pos = stripos($str, "mi"); // int(0) // a kis- és nagybetűk megkülönböztetése nélkül kereshet jobbról a „Need” kifejezésre$pos = strripos($str, "Szükség"); // int(20)

A kis- és nagybetűket figyelmen kívül hagyó „mi” keresés eredménye 0, ami azt jelzi, hogy a keresett karakterlánc elején található. A kis- és nagybetűket figyelmen kívül hagyó "Kell" keresés jobbról (a strripos használatával) a 20. helyen találja meg.

strstr

Az strstr függvény az első karakterlánc-argumentumban keresi a másodikat. Ha a második az elsőben található, az strstr az eredeti karakterlánc azon részét adja vissza, amely az első talált előfordulástól a karakterlánc végéig kezdődik.

// példa karakterlánc $str = – Meg kell találnunk a tűt a szénakazalban.; // "the" keresése a $str-ben $newstr = strstr ($str , "the" ) ; var_dump ($newstr) ; // string(27) "a tű a szénakazalban."

Az strstr függvény az első talált "a"-t adja vissza, az eredeti karakterlánc többi részével együtt.

Ha igazat ad meg harmadik argumentumként az strstr -nek, akkor az eredeti karakterlánc része előtt a talált karakterlánc visszaadásra kerül:

// adja meg a true értéket a $str "the" előtti részének visszaadásához$newstr = strstr ($str , "the" , true ) ; var_dump ($newstr) ; // string(16) "Meg kell találnunk"

Ezúttal az strstr függvény mindent visszaad a karakterlánc első "the" előtt.

A PHP tartalmazza a stristr függvényt is, amely pontosan ugyanúgy működik, mint az strstr, kivéve, hogy a kis- és nagybetűket nem érző keresést hajt végre.

strhrchr

Az strrchr függvény az első karakterlánc-argumentumban jobbról keresi a második argumentumban megadott karaktert. A függvény visszaadja a karakterláncnak azt a részét, amely az adott karakter talált példányának helyétől a karakterlánc végére kerül:

// példa karakterlánc $str = – Meg kell találnunk a tűt a szénakazalban.; // keresés jobbról az "s" kifejezésre a $str$newstr = strstr ($str , "s" ) ; var_dump ($newstr) ; // string(6) "verem."

Figyeljük meg, hogy az strstr-től eltérően, ha a második argumentum több karakterből áll, csak az elsőt használjuk:

// teszt többkarakteres második argumentummal$newstr = strrchr ($str , "the" ) ; var_dump ($newstr) ; // string(5) "tack."

Ahelyett, hogy "a szénakazalt" adja vissza, az strrchr függvény a "tack"-t adja vissza, és csak a második argumentum első betűjét alkalmazza a kereséshez.

Szia Habr!

Ma szeretném bemutatni az újonc webmestereknek a kimeneti pufferelés PHP-ben való használatának számos ügyes módját. A tapasztalt webmesterek valószínűleg nem találnak itt hasznosat. Bár – ki tudja?

Mint mindenki tudja, a php-ben a kimeneti pufferelést egy sor függvény vezérli, amelyek „ob_”-val kezdődnek. Közülük a legfontosabb az ob_start. Indításkor összegyűjti az utólagos kimenetet, vagyis mindenféle print(), echo-t stb., amit aztán egy html oldal formájában ad a látogatónak. És ha a kiírás előtt elkezdtük a pufferelést, akkor végre tehetünk valamit ezzel a majdnem kész oldallal.


Például ki akarunk szűrni minden külső webhelyre mutató hivatkozást.

Fórumunkon, amely egyidős az Australopithecus fejszéjével, rengeteg spammer nyüzsög, csalogatva a látogatókat olyan helyekre, amelyek tele vannak kicsapongásokkal, félkarú banditákkal és politikai agitációval. Használhatnánk a js-t a nyomon követéssel, de ehelyett az összes hivatkozást a következőképpen szeretnénk módosítani:

"http://blackjack-hookers.com" => "http://myoldforum.ru/redirect.php?url=blackjack-hookers.com"

Lehet, hogy a módszer nem a leghatékonyabb, de hatásos. A redirect.php-t szűrővel és tiltólistával írtuk, most pedig minden linket át kell konvertálnunk több ezer fórumoldalon. Az ob_start és néhány reguláris kifejezés használatával ezt néhány sorban megtehetjük:

Függvény f_callback($buffer)( $buffer = preg_replace("#http://(www.)?myoldforum\.ru/#","/",$buffer); $buffer = preg_replace("#href="http ://([^"]*)"#","#href="/redirect\.php\?url=$1",$puffer); return $puffer; ) ob_start(f_callback);

Most, ha ezt a kódot az index.php elejére helyezzük, vagy egy másik fájlt, amelyhez a szerver oldalak megtekintésekor hozzáfér, megkapjuk, amire szükségünk van.

A tartalom ilyen módon történő megváltoztatásával nem korlátoznak bennünket a motor módszerei. Ez nagyon értékes lehet. Például hozzáadhat egy bővítményt:

Függvény generate_plugin() ( /*generál valamit*/ ) függvény f_callback($buffer)( /*...*/ $puffer = str_replace ("",generate_plugin(),$puffer); /*...*/ return $puffer; ) ob_start("f_callback");

Most, ahol hozzáadtuk a tartalmat, megjelenik, amit szerettünk volna. Az egyik alkalmazás egy js widgetet szúr be egy webhely oldalára. Például a Yandex térképei. Ez általában nem nehéz, de néha egy rosszul megírt weboldal-szerkesztő kikerüli az idézőjeleket és a kapcsos zárójeleket, megtörve a widgetet. Mint látható, ez a probléma könnyen megoldható.

A kimeneti pufferrel való munkához szükséges PHP-eszközök gazdagok, és nem korlátozódnak csupán az ob_startra. A fent leírt módszerek esetenként túlságosan erőforrás-igényesek és nehézkesek, mivel az egész oldalon működnek. Ennek csak egy részét tudjuk feldolgozni, ha a sablonban wrapper-et hozunk létre egy olyan dolog generálása körül, amibe nem akarunk belemenni, de ezt mindenképpen javítani kell:

(NAGY ŐRÜLT DOLGOZAT LÉTREHOZÁSA)

Biztosan már észrevetted ezeket a mondatokat: „Nem akarok belemenni”, „olyan ősi, mint egy tyrannosaurus szék”, „egy ferdén megírt szerkesztő”... Egy ideális világban a kimeneti puffer körüli héjak nem szükséges. Minden, amit az ob_start segítségével meg lehet tenni, elméletileg nélküle is megoldható. Ez a technika néha zavart okoz a projektkódban; sokan csak abban látják értelmét, hogy a kimenetet elküldik az ob_gzhandler-nek tömörítésre, más esetekben pedig veszélyesnek tartják a használatát. De gyakran egyszerűen nem nélkülözheti a kimeneti vezérlést.

Főleg, ha nem akarsz mélyre ásni.

(PHP 4, PHP 5, PHP 7)

ob_start — Kimeneti pufferelés engedélyezése

Leírás

Bool ob_start ([ hívható$output_callback = NULLA [, int $darab_méret = 0 [, int $zászlók = PHP_OUTPUT_HANDLER_STDFLAGS ]]])

Ez a funkció lehetővé teszi a kimeneti pufferelést. Ha a kimeneti pufferelés aktív, a parancsfájl kimenete nem kerül elküldésre (kivéve a fejléceket), hanem egy belső pufferben kerül tárolásra.

Ennek a belső puffernek a tartalma egy karakterlánc-változóba másolható a segítségével ob_get_contents(). A belső puffer tartalmának kiadásához használja ob_end_flush(). Alternatív megoldásként használhatja ob_end_clean() hogy megsemmisítse a puffer tartalmát.

Figyelem

Egyes webszerverek (például az Apache) megváltoztatják a szkript munkakönyvtárát a visszahívási függvény meghívásakor. Használatával vissza tudod szerezni chdir(dirname($_SERVER["SCRIPT_FILENAME"])) a visszahívás funkcióban.

A kimeneti pufferek a verembe kerülnek, ami azt jelenti, hogy a hívások engedélyezettek ob_start() egy másik aktív hívása után ob_start(). Ebben az esetben fel kell hívni ob_end_flush() a megfelelő számú alkalommal. Ha több visszahívási funkció is aktív, a kimenet egymás után szűrésre kerül mindegyikre egymásba ágyazási sorrendben.

A paraméterek listája

Megadható egy opcionális output_callback paraméter. Ez a függvény egy karakterláncot vesz fel argumentumként, és egy karakterláncot is vissza kell adnia. Akkor hívják meg, ha visszaállítás (küldés) vagy tisztítás (a ob_flush(), ob_clean() vagy hasonló funkciók), vagy ha a kimeneti puffer a kérés végén a böngészőbe kerül. Az output_callback függvény meghívásakor megkapja a puffer tartalmát, és vissza kell adnia a frissített tartalmat, hogy a kimeneti puffer elküldhető legyen a böngészőnek. Ha az output_callback nem érvényes függvény, akkor a dokumentált függvény tér vissza HAMIS. Funkció leírása ehhez a paraméterhez:

Húr kezelő (string $puffer [, int $fázis ])

Puffer A kimeneti puffer tartalma. fázis Konstansok bitmaszkja PHP_OUTPUT_HANDLER_*.

Ha az output_callback visszatér HAMIS, akkor az eredeti információ változtatás nélkül kerül elküldésre a böngészőnek.

Az output_callback paraméter figyelmen kívül hagyható az érték átadásával NULLA.

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush()És ob_start() visszahívási függvényekből nem hívhatók meg, mivel viselkedésük kiszámíthatatlan. Ha törölni szeretné a puffer tartalmát, akkor adja vissza a "" (üres karakterlánc) értéket a visszahívási függvényből. Nem is hívhat függvényeket print_r($kifejezés, igaz) vagy highlight_file($fájlnév, igaz) a kimeneti pufferelés visszahívási függvényeiből.

Megjegyzés:

PHP 4.0.4-ben a függvény ob_gzhandler() azért került bevezetésre, hogy megkönnyítse a gz kódolású adatok küldését a tömörített weboldalakat támogató webböngészőknek. ob_gzhandler() meghatározza a böngésző által elfogadott tartalomkódolási típust, és ennek megfelelően adja vissza a kimenetet.

chunk_size

Ha az opcionális chunk_size paramétert átadjuk, a puffer kiürül a chunk_size méretnél nagyobb vagy azzal egyenlő kimenet után. Alapértelmezett érték 0 azt jelenti, hogy a kimeneti függvény a puffer bezárásakor kerül meghívásra.

PHP 5.4.0 előtt érték 1 egy speciális érték volt, amely beállította a paramétert chunk_size 4096-nál.

A flags paraméter egy bitmaszk, amely a kimeneti pufferen végrehajtható műveleteket vezérli. Alapértelmezés szerint lehetővé teszi a kimeneti puffer kiürítését, kiürítését és törlését, ami megegyezik a | | , vagy PHP_OUTPUT_HANDLER_STDFLAGS ennek a kombinációnak a rövidítéseként.

Mindegyik jelző a funkciókhoz való hozzáférést szabályozza, az alábbiak szerint:

Állandó Funkciók
PHP_OUTPUT_HANDLER_CLEANABLE ob_clean(), ob_end_clean(), És ob_get_clean().
PHP_OUTPUT_HANDLER_FLUSHABLE ob_end_flush(), ob_flush(), És ob_get_flush().
PHP_OUTPUT_HANDLER_REMOVABLE ob_end_clean(), ob_end_flush(), És ob_get_flush().

Visszatérési értékek

Visszatér IGAZ sikeres teljesítése esetén ill HAMIS hiba esetén.

Változások listája

Változat Leírás
7.0.0 Ha ob_start() a kimeneti puffer visszahívási funkción belül használva, ez a funkció többé nem generál hibát E_ERROR, de inkább hívni fog E_RECOVERABLE_ERROR, lehetővé téve a harmadik fél hibakezelői számára, hogy elkapják.
5.4.0 Harmadik paraméter ob_start() megváltozott logikai értékről ( logikai érték) a törlési paraméter (amelynek beállítása esetén HAMIS megakadályozta a puffer törlését a szkript befejezéséig) egész számra ( egész szám) megjelöli a paramétert. Sajnos ez API-kompatibilitást jelent a PHP 5.4.0 előtti harmadik paramétert használó kód esetében. Tekintse meg a zászlók példáját, hogy megértse, hogyan kell dolgozni a kóddal, hogy az mindkét verzióval kompatibilis legyen.
5.4.0 Paraméter chunk_size, telepítve 1 , most 1 bájt kerül a kimeneti pufferbe.
4.3.2 A függvény visszatér HAMIS abban az esetben, ha az output_callback nem hajtható végre.

Példák

1. példa Példa egy felhasználó által definiált visszahívási függvényre

Funkció visszahívás ($puffer)
{
// az összes almát narancsra cseréljük
return (str_replace("alma", "narancs", $puffer));
}

Ob_start("visszahívás");

?>


Olyan ez, mint az almát és a narancsot összehasonlítani.






ob_end_flush();