I have in my index.php file
<?php
    ob_start();
    echo '<html>
              <head>
                  <style>
                      body {background-color: black; color: white}
                  </style>
              </head>
              <body>
                  <h2 id="greeting">Wait for page load</h2>
              </body>
          </html>';
    ob_flush();
    flush();
    sleep(100);
    echo '<script>document.getElementByID("greeting").innerHTML = "Page loaded!";</script>';
    ob_flush();
    flush();
?>
I thought it will send the HTML content to the client and they will see a "Wait for page load" text because it is flushed out, but on my website the webpage is just a blank white screen until the PHP code has finished executing (after 100 seconds) then everything on the page displays at once.
I have tried adding
echo str_repeat("<!--AAAAAAAAAAAA-->", 100);
after each echo as well to make sure it starts sending blocks of data to the browser but that didn't work either.
Is there a way for me to display the HTML content from the php file before the php code finishes executing?
Thanks!
EDIT: Everyone is telling me to use ob_start(); ob_flush(); and flush(); but I have used it in the code above already?
 
     
     
    