Heim >Backend-Entwicklung >PHP-Problem >So richten Sie den PHP-Puffer ein
PHP-Puffereinstellungsmethode: Öffnen Sie zuerst den Puffer, der Code lautet [ob_start()], und geben Sie dann den Inhalt des internen Puffers zurück. Anschließend senden Sie den Inhalt des internen Puffers an den Browser Schließen Sie den Ausgabepuffer. Der Code lautet [ob_end_flush].
PHP-Puffer-Einstellungsmethode:
1. Einführung in verwandte Funktionen:
1. Flush: Geben Sie den Inhalt im Puffer aus und löschen Sie den Puffer.
Funktionsformat: Flush()
Beschreibung: Diese Funktion wird häufig verwendet und ist sehr effizient.
Verwandte Lernempfehlungen: php-Programmierung (Video)
2. ob_start: Öffnen Sie den Ausgabepuffer
Funktionsformat: void ob_start(void)
Beschreibung: Wenn der Puffer aktiviert ist, werden alle Daten aus dem PHP-Programm Keine der Nicht-Datei-Header-Informationen werden gesendet, sondern in einem internen Puffer gespeichert. Um den Inhalt des Puffers auszugeben, können Sie ob_end_flush() oder ob_end_clean() verwenden, um den Inhalt des Puffers auszugeben.
3, ob_get_contents: Gibt den Inhalt des internen Puffers zurück.
Verwendung: string ob_get_contents(void)
Beschreibung: Diese Funktion gibt den Inhalt des aktuellen Puffers zurück. Wenn der Ausgabepuffer nicht aktiviert ist, wird FALSE zurückgegeben.
4. ob_get_length: Gibt die Länge des internen Puffers zurück.
Verwendung: int ob_get_length(void)
Beschreibung: Diese Funktion gibt die Länge im aktuellen Puffer zurück, genau wie ob_get_contents, wenn der Ausgabepuffer nicht aktiviert ist. gibt dann FALSE zurück.
5. ob_end_flush: Den Inhalt des internen Puffers an den Browser senden und den Ausgabepuffer schließen.
Verwendung: void ob_end_flush(void)
Beschreibung: Diese Funktion sendet den Inhalt des Ausgabepuffers (falls vorhanden).
6. ob_end_clean: Löschen Sie den Inhalt des internen Puffers und schließen Sie den internen Puffer.
Verwendung: void ob_end_clean(void)
Hinweis: Diese Funktion gibt den Inhalt des internen Puffers nicht aus!
7. ob_implicit_flush: Absolute Aktualisierung ein- oder ausschalten
Verwendung: void ob_implicit_flush ([int flag])
Erläuterung: Jeder, der Perl verwendet hat, kennt die Bedeutung von ?$|=x, diese Zeichenfolge kann aktiviert werden/ off Buffer, und die Funktion ob_implicit_flush ist die gleiche. Standardmäßig wird der Puffer geschlossen und die absolute Ausgabe geöffnet.
2. Anwendungsbeispiele:
Zu Beginn sagte der Autor, dass die Verwendung von Pufferkontrollfunktionen Fehler beim Senden von Informationen im Dateiheader verhindern kann:
Der Code lautet wie folgt:
rrree Wenn Sie ob_start
entfernen, gibt PHP in Zeile 4 der Datei einen Fehler aus (die Fehlermeldung lautet wie oben), bei ob_start tritt jedoch kein Fehler auf. Der Grund dafür ist, dass Der Puffer wird geöffnet, die Zeichen nach dem Echo werden nicht an den Browser ausgegeben, bleiben aber auf dem Server erhalten. Die Ausgabe erfolgt erst, wenn Sie Flush oder ob_end_flush
verwenden eventuelle Datei-Header-Ausgabefehler! ob_start
,PHP就会提示在文件的第4行出错(出错信息如前面所示),但是加上ob_start,就不会提示出错,原因是当打开了缓冲区,echo后面的字符不会输出到浏览器,而是保留在服务器,直到你使用flush或者ob_end_flush
才会输出,所以并不会有任何文件头输出的错误!
下面再给出一个很经典的用途:
比如你用1f70f0edc086e1f683e864c3dfc26679
Zum Beispiel verwenden Sie 1f70f0edc086e1f683e864c3dfc26679
, um die Einstellungsinformationen des Servers und des Clients abzurufen, diese Informationen können jedoch variieren Je nach Client unterschiedlich. Was ist, wenn Sie die Ausgabe der Funktion phpinfo() speichern möchten? Bevor es keine Puffersteuerung gab, kann man sagen, dass es überhaupt keine Möglichkeit gab, aber mit der Puffersteuerung können wir es leicht lösen:
Der Code lautet wie folgt: Verwandte Empfehlungen:Programmiervideokurs 🎜🎜🎜
Das obige ist der detaillierte Inhalt vonSo richten Sie den PHP-Puffer ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!