How can PHP sleep() function be effectively used to delay execution without affecting the delivery of the document to the browser?

When using the PHP sleep() function to delay execution, it can cause the entire script to pause, including the delivery of the document to the browser. To avoid this issue, you can use output buffering to capture the content that would be sent to the browser, delay the execution with sleep(), and then flush the buffered content to the browser. This way, the document is delivered to the browser without any delay.

ob_start(); // Start output buffering

// Your PHP code here

ob_end_flush(); // Flush the output buffer

sleep(5); // Delay execution for 5 seconds

// Continue with your PHP code