Các chức năng kiểm soát đầu ra của PHP
Các chức năng kiểm soát đầu ra của PHP
PHP cung cấp một tập hợp các hàm kiểm soát nội dung nào được gửi đến trình duyệt và khi nào. Điều này được gọi là kiểm soát đầu ra .
Đầu ra có thể đến từ bất kỳ nguồn nào sau đây:
echo
,,,print
...printf
vàprint_r
các hàm và câu lệnh tương tự khác- Thông báo, cảnh báo và lỗi từ PHP
- Bất kỳ nội dung nào bên ngoài
<?php ?>
thẻ
PHP và chương trình phụ trợ mà nó đang chạy có thể giữ kết quả đầu ra trong bộ đệm trước khi gửi đến người dùng.
Lưu ý: Các chức năng điều khiển đầu ra có thể tạo bất kỳ số lượng bộ đệm đầu ra nào. Bộ đệm đầu ra bắt đầu ra do chương trình đưa ra. Mỗi bộ đệm đầu ra mới được đặt trên đầu của chồng bộ đệm đầu ra và bất kỳ đầu ra nào mà nó cung cấp sẽ bị bộ đệm bên dưới bắt giữ. Các chức năng điều khiển đầu ra chỉ xử lý bộ đệm trên cùng, vì vậy bộ đệm trên cùng phải được loại bỏ để kiểm soát các bộ đệm bên dưới nó.
Cài đặt
Các chức năng điều khiển đầu ra PHP là một phần của lõi PHP. Không cần cài đặt để sử dụng các chức năng này.
Cấu hình thời gian chạy
Hoạt động của các chức năng điều khiển đầu ra bị ảnh hưởng bởi cài đặt trong php.ini:
Name | Default | Description | Version |
---|---|---|---|
output_buffering | "0" | Enables output buffering for all PHP files by default | 4 |
output_handler | NULL | Set the name of the default function which handles the output of all output buffers | 4 |
implicit_flush | "0" | Enables implicit flush, which causes output to be sent directly to the browser on each output statement | 4 |
url_rewriter.tags | "a=href,area=href, frame=src,form=,fieldset=" | Indicates which HTML tags and attributes can be modified by the URL rewriter (the output_add_rewrite_var() function.) | 4.3 |
url_rewriter.hosts | The current value of $_SERVER['HTTP_HOST'] | URL rewriting is only done on the server's own URLs by default. To allow for rewriting URLs of other websites, set the hostnames of the other websites here. | 7.1 |
Các chức năng kiểm soát đầu ra của PHP
Method | Function |
---|---|
flush() | Attempts to send content from the system's output buffer to the browser |
ob_clean() | Deletes all of the content from the topmost output buffer |
ob_end_clean() | Deletes the topmost output buffer and all of its contents |
ob_end_flush() | Deletes the topmost output buffer and outputs its contents |
ob_flush() | Outputs the contents of the topmost output buffer and clears the buffer |
ob_get_clean() | Returns all of the contents of the topmost output buffer and clears the buffer |
ob_get_contents() | Returns the contents of the topmost output buffer |
ob_get_flush() | Outputs and returns the contents of the topmost output buffer and then deletes the buffer |
ob_get_length() | Returns the number of bytes of data that are in the topmost output buffer |
ob_get_level() | Returns a number indicating how many output buffers are on the stack |
ob_get_status() | Returns information about the output buffers |
ob_gzhandler() | Used as a callback function for ob_start() to compress the contents of the buffer when sending it to the browser |
ob_implicit_flush() | Turns implicit flushing on or off |
ob_list_handlers() | Returns an array of callback function names that are being used by the topmost output buffer |
ob_start() | Creates a new output buffer and adds it to the top of the stack |
output_add_rewrite_var() | Used to append query string parameters to any URL in the output |
output_reset_rewrite_vars() | Removes all variables added by output_add_rewrite_var() |