PHP.mk документација

Бафери на излез на ниво корисник

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

outcontrol.user-level-output-buffers.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека outcontrol.user-level-output-buffers.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
Бафери на излез на ниво корисник

Референца за `outcontrol.user-level-output-buffers.php` со подобрена типографија и навигација.

outcontrol.user-level-output-buffers.php

Бафери на излез на ниво корисник

Содржина

Корисничките бафери за излез може да се стартуваат, манипулираат и завршуваат од PHP код. Секој од овие бафери вклучува бафер за излез и поврзана функција за ракување со излезот.

Корисничките бафери за излез може да се стартуваат, манипулираат и завршуваат од PHP код. Секој од овие бафери вклучува бафер за излез и поврзана функција за ракување со излезот.

Вклучување на баферирање на излезот ob_start() Баферирањето на излезот може да се вклучи со користење на output_buffering and output_handler php.ini функцијата или со поставување на ob_start() поставката. Додека и двете можат да создадат бафери за излез, ob_start() е пофлексибилна бидејќи прифаќа кориснички дефинирани функции како ракувачи со излез и операциите дозволени на баферот (исфрлање, чистење, отстранување) може да се постават исто така. Баферите стартувани со output_buffering ќе бидат активни од линијата каде што е повикана функцијата, додека оние стартувани со

ќе баферираат излез од првата линија на скриптата. "URL-Rewriter" PHP исто така доаѓа со вграден output_add_rewrite_var() ракувач со излез кој стартува свој бафер за излез и дозволува само до две инстанци од него да работат во секое време (една за пренасочување на URL на корисничко ниво и една за транспарентна поддршка на ID на сесија). Овие бафери може да се стартуваат со повикување на session.use_trans_sid php.ini setting.

функцијата и/или со овозможување на zlib Вклучениот zlib.output_compression php.ini setting.

Забелешка: Додека "URL-Rewriter" екстензија има свој бафер за излез кој може да се овозможи со користење на ob_start() е посебен по тоа што дозволува само до две инстанци од него да работат во едно време, сите бафери за излез на корисничко ниво ги користат истите основни бафери што ги користи

со нивната функционалност имплементирана од прилагодена функција за ракување со излез. Како такви, целата нивна функционалност може да се емулира од кориснички код.

Исфрлање, пристап и чистење на содржината на баферот ob_flush(), ob_end_flush() or ob_get_flush() се повикува.

Безбедност: стандардниот сет на знаци

Повикување ob_end_flush() or ob_get_flush() Исфрлањето испраќа и отфрла содржината на активниот бафер. Баферите за излез се исфрлаат кога големината на излезот ја надминува големината на баферот; скриптата завршува или

Безбедност: стандардниот сет на знаци

ќе го исклучи активниот бафер. ob_gzhandler() Исфрлањето на баферите ќе го исфрли вратената вредност на ракувачот со излез што може да се разликува од содржината на баферот. На пример, користењето на

Содржината на активниот бафер може да се добие со повикување на ob_get_contents(), ob_get_clean() or ob_get_flush().

Содржината на активниот бафер може да се добие со повикување ob_get_length() or ob_get_status() Ако е потребна само должината на содржината на баферот,

Безбедност: стандардниот сет на знаци

Повикување ob_get_clean() or ob_get_flush() ќе ја врати должината на содржината во бајти.

ќе го исклучи активниот бафер откако ќе ја врати неговата содржина. ob_clean(), ob_end_clean() or ob_get_clean().

Безбедност: стандардниот сет на знаци

Повикување ob_end_clean() or ob_get_clean() Исфрлањето испраќа и отфрла содржината на активниот бафер. Баферите за излез се исфрлаат кога големината на излезот ја надминува големината на баферот; скриптата завршува или

Содржината на активниот бафер може да се исчисти со повикување

Исклучување на баферите ob_end_clean(), ob_end_flush(), ob_get_flush() or ob_get_clean().

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Баферите за излез може да се исклучат со повикување PHP_OUTPUT_HANDLER_REMOVABLE Баферите за излез започнати без E_NOTICE.

знамето не може да се исклучат и може да генерираат exit() Секој излезен бафер што не е затворен до крајот на скриптата или кога

Безбедност: стандардниот сет на знаци

ќе се повика, ќе биде исфрлен и исклучен од процесот на исклучување на PHP. Баферите ќе бидат исфрлени и исклучени по обратен редослед од нивното стартување. Последниот започнат бафер ќе биде прв, а првиот започнат бафер ќе биде последен што ќе биде исфрлен и исклучен.

Ако исфрлањето на содржината на баферот не е пожелно, треба да се користи прилагоден ракувач за излез за да се спречи исфрлање при исклучување.

Исклучоци фрлени во ракувачи за излез "Uncaught Exception" Ако во ракувач за излез се фрли нефатен исклучок, програмата завршува и ракувачот се повикува од процесот на исклучување, по што

пораката за грешка се исфрла. ob_flush(), ob_end_flush() or ob_get_flush()Ако нефатен исклучок се фрли во ракувач повикан од

, содржината на баферот се исфрла пред пораката за грешка.

Забелешка: Ако во ракувач за излез за време на исклучување се фрли нефатен исклучок, ракувачот се прекинува и ниту содржината на баферот ниту пораката за грешка не се исфрлаат. PHP_OUTPUT_HANDLER_DISABLED Ако ракувач фрли исклучок, неговиот

Грешки покренати во ракувачи со излез

Ако се покрене нефатална грешка во ракувач со излез, програмата продолжува со извршување.

Ако нефаталната грешка се покрене во ракувач повикан од ob_flush(), ob_end_flush() or ob_get_flush(), баферот испушта одредени податоци во зависност од вратената вредност на ракувачот. Ако ракувачот врати false баферот и пораката за грешка се испуштаат. Ако врати нешто друго, вратената вредност на ракувачот се испушта, но не и пораката за грешка.

Забелешка: Ако ракувачот врати false its PHP_OUTPUT_HANDLER_DISABLED Ако ракувач фрли исклучок, неговиот

Ако се покрене фатална грешка во ракувач со излез, програмата завршува и ракувачот се повикува од процесот на исклучување по што се испушта пораката за грешка.

Ако фаталната грешка се покрене во ракувач повикан од ob_flush(), ob_end_flush() or ob_get_flush(), содржината на баферите се испушта пред пораката за грешка.

Ако фатална грешка се покрене во ракувач со излез за време на исклучување, програмата завршува без испуштање на баферот или пораката за грешка.

Излез во ракувачи со излез

Во одредени околности, излезот произведен во ракувачот се испушта заедно со содржината на баферот. Овој излез не се додава во баферот и не е дел од низата вратена од ob_get_flush().

За време на операциите на испуштање (повикување ob_flush(), ob_end_flush(), ob_get_flush() и за време на исклучување) ако вратената вредност на ракувачот е false содржината на баферот се испушта проследена со излезот. Ако ракувачот не е повикан за време на исклучување, ракувачот што фрла исклучок или exit() се повикува резултира со исто однесување.

Забелешка: Ако ракувачот врати false its PHP_OUTPUT_HANDLER_DISABLED Ако ракувач фрли исклучок, неговиот

Статус знаменца на ракувач со излез

На статус знаменца на ракувач на баферот flags битното поле се поставува секој пат кога се повикува ракувачот со излез и е дел од flags вратено од ob_get_status(). Ако рачката успешно се изврши и не врати false, PHP_OUTPUT_HANDLER_STARTED and PHP_OUTPUT_HANDLER_PROCESSED се поставува. Ако рачката врати false или фрли исклучок при извршување, PHP_OUTPUT_HANDLER_STARTED and PHP_OUTPUT_HANDLER_DISABLED е поставено.

Забелешка: Ако PHP_OUTPUT_HANDLER_DISABLED на рачката е поставено, рачката нема да биде повикана со повикување ob_end_clean(), ob_end_flush(), ob_get_clean(), ob_get_flush(), ob_clean(), ob_flush() или за време на процесот на исклучување на PHP. Пред PHP 8.4.0, ова знаменце немаше ефект при повикување ob_clean() or ob_flush().

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.