Prinzip: Verwenden Sie ob_flush() und flush() , um den Inhalt des Puffers im Voraus auszugeben, und der Browser kann ihn laden Teilen Sie den Inhalt im Voraus, sodass Sie vor dem Laden nicht warten müssen, bis die gesamte Ausgabe abgeschlossen ist.
Teilen Sie den Seiteninhalt in kleine Blöcke auf, geben Sie einen und dann den nächsten aus, damit Benutzer den Seiteninhalt so früh wie möglich sehen und das Benutzererlebnis optimieren können.
Zunächst sollte der Inhalt von head geladen werden, und statische Inhalte wie CSS und Javascript sollten so früh wie möglich geladen werden. Daher sollte Flush() verwendet werden Ausgabe nach Kopf.
Beispiel: Geben Sie zuerst den statischen Kopfinhalt aus, teilen Sie dann jedes in einen Block auf und geben Sie ihn jede Sekunde aus.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title> Big Pipe </title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <style type="text/css"> body{margin:0px; background:#CCCCCC;} p{text-align:center; margin:10px;} img{width:450px;} </style> </head> <?php cache_flush() ?> <body> <p><img src="http://image.tianjimedia.com/uploadImages/2013/240/5CPOE4UZ2T40.jpg"></p> <?php cache_flush(); ?> <p><img src="http://image.tianjimedia.com/uploadImages/2013/240/6893CY9XEQD1.jpg"></p> <?php cache_flush(); ?> <p><img src="http://image.tianjimedia.com/uploadImages/2013/240/83H52SG02V32.jpg"></p> </body> </html> <?php function cache_flush($sec=1){ ob_flush(); flush(); usleep($sec*1000000); } ?>
Zu beachtende Punkte:
1. Versuchen Sie, so viele Inhalte wie möglich auszugeben.
2. Versuchen Sie, synchron zu laden.
3. Je mehr Stücke geteilt werden, desto besser. Es kommt auf den tatsächlichen Bedarf an.
4.ob_flush() und Flush() müssen gleichzeitig verwendet werden, da Flush() in einigen Fällen keine Wirkung hat.
In diesem Artikel wird erläutert, wie Sie die BigPipe-Blockausgabe über PHP implementieren. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Verwandte Einführung in die MySQL-Optimierung der Einfügeleistung
So verwenden Sie die allgemeine PHP-Anpassung Methoden
So verschlüsseln/entschlüsseln Sie Dateien mit Exklusiv-ODER (XOR) über PHP
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Chunked-Ausgabe von BigPipe über PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!