Hướng dẫn what is the use of ob_start () in php? - việc sử dụng ob_start() trong php là gì?
Điều này là để làm rõ thêm câu trả lời của JD Isaaks ... Show Vấn đề bạn gặp phải thường xuyên là bạn đang sử dụng PHP để xuất HTML từ nhiều nguồn PHP khác nhau và các nguồn đó thường, vì bất kỳ lý do gì, xuất hiện thông qua các cách khác nhau. Đôi khi bạn có nội dung HTML theo nghĩa đen mà bạn muốn trực tiếp xuất vào trình duyệt; Lần khác, đầu ra đang được tạo động (phía máy chủ). Nội dung động luôn luôn (?) Sẽ là một chuỗi. Bây giờ bạn phải kết hợp HTML động được chuỗi này với bất kỳ HTML trực tiếp, trực tiếp đến hiện tại ... thành một cấu trúc nút HTML có ý nghĩa. Điều này thường buộc nhà phát triển phải gói tất cả nội dung trực tiếp vào một chuỗi (như JD Isaak đang thảo luận) để nó có thể được phân phối/chèn đúng cách kết hợp với HTML động ... mặc dù bạn không thực sự muốn nó được bọc. Nhưng bằng cách sử dụng các phương thức OB _ ##, bạn có thể tránh được mớ hỗn độn trong chuỗi đó. Thay vào đó, nội dung theo nghĩa đen là đầu ra cho bộ đệm. Sau đó, trong một bước dễ dàng, toàn bộ nội dung của bộ đệm (tất cả HTML theo nghĩa đen của bạn), được nối với chuỗi HTML động của bạn. .
more html " ;
$lvs_html .= "----" ; $lvs_html .= " html " ;
$lvs_html .= gf_component_assembler__with_ob( ) ;
$lvs_html .= "more html " ;
echo $lvs_html ;
// 02 - component contents
// html
// 01 - component header
// 03 - component footer
// more html
// ----
// html
// 01 - component header
// 02 - component contents
// 03 - component footer
// more html
//---------------------------------
function gf_component_assembler__without_ob( )
{
$lvs_html = "01 - component header " ; // 01 - component header " ; // Tracey tại Archive Dot org ¶ dan tại roteloftet dot com ¶ — Turn on output buffering 14 năm trướcĐồi Francois ¶(callable Lucky760 tại Yahoo Dot Com ¶ob_get_contents(). To output what is stored in the internal buffer, use ob_end_flush(). Alternatively, ob_end_clean() will silently discard the buffer contents. Filip Dalge ¶
Clancy Hood tại Gmail Dot Com ¶ob_start() while another ob_start() is active. Just make sure that you call ob_end_flush() the appropriate number of times. If multiple output callback functions are active, output is being filtered sequentially through each of them in nesting order. Nếu bộ đệm đầu ra vẫn hoạt động khi tập lệnh kết thúc, PHP sẽ tự động xuất nội dung. Thông sốcallback Một hàm 3. Đây là chữ ký gọi lại:ob_flush(),
ob_clean() or similar function) or when the output buffer is flushed to the browser at the end of the request. When callback is called, it will receive the contents of the output buffer as its parameter and is expected to return a new output buffer as a result, which will be sent to the browser. If the callback is not a callable function, this function will return 3. This is the
callback signature: Handler (Chuỗi 6 Nội dung của bộ đệm đầu ra. 7 Bitmask của hằng số 8. Contents of the output buffer. 7 Bitmask of 8 constants. Nếu 3 Đầu vào gốc được gửi đến trình duyệt. 3 original
input is sent to the browser. Tham số ob_end_clean (), ob_end_flush (), ob_clean (), ob_flush () và ob_start () có thể không được gọi từ hàm gọi lại. Nếu bạn gọi họ từ chức năng gọi lại, hành vi không được xác định. Nếu bạn muốn xóa nội dung của bộ đệm, hãy trả về "" (chuỗi null) khỏi hàm gọi lại. Bạn thậm chí không thể gọi các chức năng bằng cách sử dụng các chức năng bộ đệm đầu ra như It's like comparing oranges to oranges. It's like comparing oranges to oranges. 3 or 4 from a callback function.
5 Nếu tham số tùy chọn 5 được truyền, bộ đệm sẽ được xóa sau khi bất kỳ cuộc gọi đầu ra nào khiến chiều dài của bộ đệm bằng hoặc vượt quá 5. Giá trị mặc định 8 có nghĩa là hàm đầu ra sẽ chỉ được gọi khi đóng bộ đệm đầu ra. 9 Tham số 9 là một bitmask kiểm soát các hoạt động có thể được thực hiện trên bộ đệm đầu ra. Mặc định là cho phép các bộ đệm đầu ra được làm sạch, xả và loại bỏ, có thể được đặt rõ ràng thông qua $callback 1 | $callback 2 | $callback 3, hoặc PHP_OUTPUT_HANDLER_STDFLAGS như tốc ký.$callback 1 | $callback 2 | $callback 3, or PHP_OUTPUT_HANDLER_STDFLAGS as shorthand. Mỗi cờ kiểm soát truy cập vào một tập hợp các chức năng, như được mô tả dưới đây:
Trả về giá trị Trả về 3 về thất bại.$callback 8 on success or 3 on failure. Ví dụVí dụ #1 Chức năng gọi lại do người dùng xác định
null 2Ví dụ trên sẽ xuất ra:
Ví dụ #2 Tạo bộ đệm đầu ra không thể xác định được
null 5Xem thêm
Ray Paseur (Paseur ... tưởng tượngB.com) ¶ ¶ 17 năm trước
null 8ed.oohay (a) Suamhcs_rodnan ¶ ¶ 19 năm trước
$chunk_size 2net_navard tại yahoo dot com ¶ 16 năm trước
null 8mjr ¶ ¶ 18 năm trước
McHojrin tại gmail dot com ¶ 10 năm trước
null 8Asher Haig (Ahaig tại RidiculousPower Dot Com) ¶ ¶ 15 năm trước
null 8jhlavon ¶ ¶ 9 năm trước
null 8Mbutscher tại GMX Dot de ¶ ¶ 6 năm trước
PHP_OUTPUT_HANDLER_STDFLAGS 8Chris ¶ ¶ 12 năm trước
null 8Ernest tại Vogelsinger Dot tại ¶ ¶ 16 năm trước
null 8mjr ¶ ¶ 18 năm trước
null 8McHojrin tại gmail dot com ¶ 15 năm trước
null 8jhlavon ¶ ¶ 9 năm trước
00 01 02null 8Mbutscher tại GMX Dot de ¶ ¶ 15 năm trước 04 05null 8jhlavon ¶ ¶ 16 năm trước 07 08 09 10 11 12 13Filip Dalge ¶ ¶ 10 năm trước 14 15 16 17null 8Clancy Hood tại Gmail Dot Com ¶ ¶ 13 năm trước 19 20 21Charlie Farrow ¶ ¶ 15 năm trước 22 23 24null 8Quản trị viên tại Bobfrank Dot org ¶ ¶ 17 năm trước 26 27 28 29null 8bty-adminf2 tại trbly dot net ¶ ¶ 7 năm trước 31 32 33 34 35 36null 8Aaron tại OffTone.com ¶ ¶ 18 năm trước 38 39 40null 8tôi tại haravikk dot com ¶ ¶ 10 năm trước 42 43 44null 8 Clancy Hood tại Gmail Dot Com ¶ 46 47 48 49 50null 813 năm trước ¶ Charlie Farrow ¶ 52 53null 813 năm trước ¶ 17 năm trước 55 56 57 58null 8bty-adminf2 tại trbly dot net ¶ ¶ 17 năm trước 60 61 62 63null 8bty-adminf2 tại trbly dot net ¶ ¶ 17 năm trước 65 66 67 68bty-adminf2 tại trbly dot net ¶ ¶ 13 năm trước 69 70 71 72Charlie Farrow ¶ ¶ 13 năm trước 73 74 75 76 76 78 79null 8Charlie Farrow ¶ ¶ 13 năm trước 81 82null 8Charlie Farrow ¶ ¶ 15 năm trước 84 85 86 87Quản trị viên tại Bobfrank Dot org ¶ ¶ 15 năm trước 88 89 90null 8Quản trị viên tại Bobfrank Dot org ¶ ¶ 16 năm trước 92 93 94 95null 817 năm trước ¶ 16 năm trước 97bty-adminf2 tại trbly dot net ¶ ¶ 17 năm trước 98 99null 8bty-adminf2 tại trbly dot net ¶ ¶ 17 năm trước 01 02 03 04 null 813 năm trước ¶ Charlie Farrow ¶ 06 07 08 09 10 11 12 null 815 năm trước ¶ 15 năm trước 14 15 16 17 18 null 8Khi nào tôi nên sử dụng ob_start?Sử dụng ob_start cho phép bạn giữ nội dung trong bộ đệm phía máy chủ cho đến khi bạn sẵn sàng hiển thị nó.Điều này thường được sử dụng để các trang có thể gửi các tiêu đề 'sau khi' chúng 'đã gửi' một số nội dung (tức là quyết định chuyển hướng một nửa thông qua kết xuất một trang).allows you to keep the content in a server-side buffer until you are ready to display it. This is commonly used to so that pages can send headers 'after' they've 'sent' some content already (ie, deciding to redirect half way through rendering a page).
Sử dụng gì của ob_end_clean trong PHP?Hàm ob_end_clean () xóa bộ đệm đầu ra cao nhất và tất cả các nội dung của nó mà không gửi bất cứ thứ gì đến trình duyệt.deletes the topmost output buffer and all of its contents without sending anything to the browser.
Việc sử dụng ob_clean là gì?Định nghĩa và sử dụng hàm ob_clean () xóa tất cả các nội dung của bộ đệm đầu ra trên cùng, ngăn chúng không được gửi đến trình duyệt.deletes all of the contents of the topmost output buffer, preventing them from getting sent to the browser.
Bộ đệm đầu ra PHP là gì?Bộ đệm đầu ra là một cơ chế để kiểm soát số lượng dữ liệu đầu ra (không bao gồm các tiêu đề và cookie) PHP nên giữ nội bộ trước khi đẩy dữ liệu đó đến máy khách.Nếu đầu ra của ứng dụng của bạn vượt quá cài đặt này, PHP sẽ gửi dữ liệu đó theo các khối có kích thước gần như kích thước bạn chỉ định.a mechanism for controlling how much output data (excluding headers and cookies) PHP should keep internally before pushing that data to the client. If your application's output exceeds this setting, PHP will send that data in chunks of roughly the size you specify.
|