Hướng dẫn ob_start and ob_flush in php - ob_start và ob_flush trong php

Các chức năng điều khiển đầu ra PHP

Thí dụ

Đầu ra nội dung của bộ đệm mà không xóa nó:

ob_start();
echo "This output will be sent to the browser";
ob_flush();
echo "This output will not be sent to the browser";
ob_end_clean();
?>

Hãy tự mình thử »


Định nghĩa và cách sử dụng

Hàm ob_flush() đầu ra các nội dung của bộ đệm đầu ra trên cùng và sau đó xóa bộ đệm của nội dung. Đầu ra có thể bị bắt bởi một bộ đệm đầu ra khác hoặc, nếu không có bộ đệm đầu ra khác, được gửi trực tiếp đến trình duyệt.


Cú pháp


Chi tiết kỹ thuật

Phiên bản PHP:4.2+

Các chức năng điều khiển đầu ra PHP


Việc sử dụng ob_start () trong PHP là gì?

Hàm ob_start () tạo bộ đệm đầu ra. Một chức năng gọi lại có thể được truyền vào để xử lý trên nội dung của bộ đệm trước khi nó được xả từ bộ đệm. Cờ có thể được sử dụng để cho phép hoặc hạn chế những gì bộ đệm có thể làm.

";
$conn = ftp_connect($ftp_site) or die("Could not connect");

echo "Logging into site download Inventory file.
"; ftp_login($conn,$ftp_username,$ftp_password) or die("Bad login credentials for ". $ftp_site); echo "Changing directory on download Inventory file.
"; ftp_chdir($conn,"INV") or die("could not change directory to INV"); // connection, local, remote, type, resume $localname = "INV"."_".date("m")."_".date('d').".csv"; echo "Downloading Inventory file to:".$localname."
"; ob_flush(); flush(); sleep(5); if (ftp_get($conn,$localname,"INV.csv",FTP_ASCII)) { echo "New Inventory File Downloaded
"; $datapath = $localname; ftp_close($conn); } else { ftp_close($conn); die("There was a problem downloading the Inventory file."); } ob_flush(); flush(); sleep(5); $csvfile = fopen($datapath, "r"); // open csv file $x = 1; // skip the header line $line = fgetcsv($csvfile); $y = (feof($csvfile) ? 2 : 5); while ((!$debug) ? (!feof($csvfile)) : $x <= $y) { $x++; $line = fgetcsv($csvfile); // do a lot of import stuff here with $line ob_flush(); flush(); sleep(1); } fclose($csvfile); // important: close the file ob_end_clean();

Sử dụng gì của ob_end_clean trong PHP?

Tôi biết tệp dữ liệu đang được tải xuống vì tôi xem thư mục nơi nó đang được đặt.

Tôi cũng biết rằng việc nhập đang xảy ra, có nghĩa là nó nằm trong vòng lặp, bởi vì tôi có thể theo dõi DB và các bản ghi đang được chèn vào.

Bất kỳ ý tưởng về lý do tại sao tôi không nhận được đầu ra vào màn hình?

(Php 4> = 4.2.0, Php 5, Php 7, Php 8)

OB_FLUSH - Flush (Gửi) Bộ đệm đầu raFlush (send) the output buffer

Sự mô tả

ob_flush (): bool(): bool

Hàm này không phá hủy bộ đệm đầu ra như ob_end_flush ().ob_end_flush() does.

Thông số

Chức năng này không có tham số.

Trả về giá trị

Trả về true khi thành công hoặc false về thất bại.true on success or false on failure.

Xem thêm

  • ob_get_contents () - Trả về nội dung của bộ đệm đầu ra
  • ob_clean () - Sạch (xóa) bộ đệm đầu ra
  • ob_end_flush () - Flush (Gửi) Bộ đệm đầu ra và tắt bộ đệm đầu ra
  • OB_END_CLEAN () - Sạch (xóa) Bộ đệm đầu ra và tắt bộ đệm đầu ra

Lee ¶

10 năm trước

As of August 2012, all browsers seem to show an all-or-nothing approach to buffering. In other words, while php is operating, no content can be shown.

In particular this means that the following workarounds listed further down here are ineffective:

1) ob_flush (),  flush () in any combination with other output buffering functions;

2) changes to php.ini involving setting output_buffer and/or zlib.output_compression to 0 or Off;

ob_flush()0

ob_flush()1

ob_flush()2

Dermeister Dot Online tại Gmail Dot Com ¶

10 năm trước

ob_flush()3

ob_flush()4

ob_flush()2

Dermeister Dot Online tại Gmail Dot Com ¶

Chris - Latko - Org ¶

ob_flush()6

ob_flush()7

ob_flush()8

ob_flush()2

7 năm trước

Jake tại qzdesign dot co dot uk ¶

ob_start()0

4 năm trước

Jens ¶

13 năm trước

ob_start()1

Riimeik ¶

ob_start()2

ob_start()3

ob_flush()2

11 năm trước

Ẩn danh ¶

ob_start()5

ob_start()6

ob_start()7

ob_start()8

ob_flush()2

17 năm trước

colnector tại@ colnect punto com ¶

ob_flush()0

ob_flush()1

ob_flush()2

ob_flush()2

11 năm trước

Ẩn danh ¶

ob_flush()4

17 năm trước

Jens ¶

ob_flush()5

ob_flush()6

ob_flush()2

13 năm trước

ob_start()1

ob_flush()8

ob_flush()9

true0

true1

true2

ob_flush()2

Riimeik ¶

Ẩn danh ¶

true4

true5

ob_flush()2

17 năm trước

Ẩn danh ¶

true7

true8

true9

ob_flush()2

17 năm trước

colnector tại@ colnect punto com ¶

false1

false2

ob_flush()2

OB_START và OB_FLUSH trong PHP là gì?

Đầu ra nội dung của bộ đệm mà không xóa nó: ob_start ();echo "đầu ra này sẽ được gửi đến trình duyệt";ob_flush ();: ob_start(); echo "This output will be sent to the browser"; ob_flush();

Việc sử dụng ob_start () trong PHP là gì?

Hàm ob_start () tạo bộ đệm đầu ra.Một chức năng gọi lại có thể được truyền vào để xử lý trên nội dung của bộ đệm trước khi nó được xả từ bộ đệm.Cờ có thể được sử dụng để cho phép hoặc hạn chế những gì bộ đệm có thể làm.creates an output buffer. A callback function can be passed in to do processing on the contents of the buffer before it gets flushed from the buffer. Flags can be used to permit or restrict what the buffer is able to do.

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ì?

Hàm ob_clean () xóa tất cả các nội dung của bộ đệm đầu ra cao nhất, 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.