ob_get_length în PHP

Buffer de ieșire PHP 4.0.2+

Returnează câți octeți sunt în bufferul de ieșire curent.

Sintaxă
ob_get_length(): int|false

Ce face ob_get_length

ob_get_length spune lungimea în octeți a conținutului din buffer, fără să îl modifice. Se folosea pentru antetul Content-Length, ca browserul să știe dinainte cât are pagina.

Lungimea este în octeți, deci literele cu diacritice contează dublu.

Ce returnează

Numărul de octeți sau false dacă nu există buffer.

Exemple

Exemplul 1: Lungimea conținutului

<?php
ob_start();
echo "Bună";
$lungime = ob_get_length();
ob_end_clean();

echo "Bufferul avea $lungime octeți";

Rezultat

Bufferul avea 5 octeți

Greșeli frecvente

  • Trimiți Content-Length cu această valoare, iar serverul comprimă apoi pagina cu gzip. Lungimea nu mai corespunde. Lasă serverul să pună singur antetul.

Comenzi înrudite

  • ob_get_contents: Returnează ce s-a adunat până acum în bufferul de ieșire, fără să îl golească.
  • ob_start / ob_get_clean / ob_end_flush: Pornește un buffer: tot ce afișezi după el este păstrat în memorie în loc să fie trimis imediat.
  • strlen: Returnează lungimea unui text, în octeți.