Controle de l'affichage Flashcards Preview

Php > Controle de l'affichage > Flashcards

Flashcards in Controle de l'affichage Deck (17):
1

void flush ( void )

Vide les tampons d'écriture système de PHP et tous ceux que PHP utilisait (CGI, un serveur web, etc.). Cette fonction tente d'envoyer tout l'affichage courant au navigateur, sous quelques conditions.

flush() peut ne pas être capable d'écraser le schéma du buffer de votre serveur web et ceci n'aura aucun effet sur le buffer du navigateur côté client. De plus, cette fonction n'affecte pas le mécanisme d'affichage du buffer de l'espace utilisateur de PHP. Cela signifie que vous devez appeler à la fois la fonction ob_flush() et la fonction flush() pour vider les tampons de sortie si vous les utilisez.

De nombreux serveurs, essentiellement sous Windows, continueront à temporiser l'affichage de votre script jusqu'à ce qu'il soit terminé, avant de transmettre les résultats à l'internaute.

Des modules Apache comme mod_gzip utilisent leur propre temporisation, ce qui fait que flush() n'enverra pas les données jusqu'au navigateur client immédiatement.

Même le navigateur peut réaliser une temporisation avant de l'afficher. Netscape, par exemple, met en cache le texte jusqu'à ce qu'il reçoive une fin de ligne, ou un début d'une balise et il n'affichera pas les tables tant que la balise la plus externe ne soit vue.

Certaines versions de Microsoft Internet Explorer ne commenceront l'affichage de la page qu'après avoir reçu 256 octets d'affichage. Cela vous obligera à envoyer des espaces supplémentaires pour afficher la page.

2

void ob_clean ( void )

Cette fonction vide le tampon de sortie sans l'envoyer au navigateur.

Cette fonction ne détruit pas le contenu du tampon de sortie comme peut le faire ob_end_clean().

Le tampon de sortie doit avoir été démarré avec la fonction ob_start() et le drapeau PHP_OUTPUT_HANDLER_CLEANABLE. Sinon, la fonction ob_clean() ne fonctionnera pas.

3

bool ob_end_clean ( void )

Cette fonction vide le contenu du premier tampon de sortie et désactive la temporisation de sortie. Si vous voulez traiter le contenu du tampon, vous devrez appeler ob_get_contents() avant ob_end_clean(), car le tampon est détruit par ob_end_clean().

Le tampon de sortie doit avoir été démarré avec la fonction ob_start() et les drapeaux PHP_OUTPUT_HANDLER_CLEANABLE et PHP_OUTPUT_HANDLER_REMOVABLE. Sinon, la fonction ob_end_clean() ne fonctionnera pas.

4

bool ob_end_flush ( void )

Envoie le contenu du tampon de sortie (s'il existe) et éteint la temporisation de sortie. Si vous voulez continuer à manipuler la valeur du tampon, vous pouvez appeler ob_get_contents() avant ob_end_flush() car le contenu du tampon est détruit après un appel à ob_end_flush().

Le tampon de sortie doit avoir été démarré avec la fonction ob_start() et les drapeaux PHP_OUTPUT_HANDLER_FLUSHABLE et PHP_OUTPUT_HANDLER_REMOVABLE. Sinon, la fonction ob_end_flush() ne fonctionnera pas.

Note: Cette fonction est similaire à ob_get_flush(), excepté que ob_get_flush() retourne le tampon comme une chaîne de caractères.

5

void ob_flush ( void )

Envoie le contenu du tampon de sortie (s'il y en a un). Si vous voulez vérifier le contenu du tampon, vous devez appeler la fonction ob_get_contents() avant ob_flush() car le contenu du tampon est effacé après l'appel de ob_flush().

ob_flush() ne désactive pas la temporisation de sortie comme peut le faire ob_end_flush().

6

string ob_get_clean ( void )

Lit le contenu courant du tampon de sortie puis l'efface.

ob_get_clean() exécute successivement ob_get_contents() et ob_end_clean().

Le tampon de sortie doit avoir été démarré avec la fonction ob_start() et le drapeau PHP_OUTPUT_HANDLER_CLEANABLE. Sinon, la fonction ob_get_clean() ne fonctionnera pas.

7

string ob_get_contents ( void )

Retourne le contenu du tampon de sortie sans l'effacer.

8

string ob_get_flush ( void )

ob_get_flush() vide le tampon, le retourne en tant que chaîne et stoppe la temporisation.

Le tampon de sortie doit avoir été démarré avec la fonction ob_start() et le drapeau PHP_OUTPUT_HANDLER_FLUSHABLE. Sinon, la fonction ob_get_flush() ne fonctionnera pas.

Note: ob_get_flush() est similaire à ob_end_flush(), sauf que cette fonction retourne le tampon en tant que chaîne.

9

int ob_get_length ( void )

Retourne la longueur du contenu du tampon de sortie, en octets.

10

int ob_get_level ( void )

Retourne le nombre de niveaux d'imbrications du système de temporisation de sortie.

11

array ob_get_status ([ bool $full_status = FALSE ] )

ob_get_status() retourne les informations sur le statut du tampon d'affichage de haut niveau ou de tous les tampons d'affichage si full_status est défini à TRUE.

12

string ob_gzhandler ( string $buffer , int $mode )

ob_gzhandler() est destinée à être utilisée comme fonction de rappel par ob_start() pour faciliter l'envoi de données compressées aux navigateurs qui supportent les pages compressées. Avant que ob_gzhandler() envoie les données compressées, il détermine les types d'encodage qui sont supportés par le navigateur ("gzip", "deflate" ou aucun) et retourne le contenu des tampons de manière appropriée. Tous les navigateurs sont traités, car c'est aux navigateurs d'envoyer un en-tête indiquant les types de pages supportés. Si le navigateur ne supporte pas les pages compressées, cette fonction retournera FALSE.

13

void ob_implicit_flush ([ int $flag = true ] )

ob_implicit_flush() active/désactive l'envoi implicite. L'envoi implicite signifie que toute fonction qui envoie des données au navigateur verra ses données envoyées immédiatement (la fonction flush() est appelée automatiquement).

14

array ob_list_handlers ( void )

Liste les gestionnaires d'affichage utilisés.

15

bool ob_start ([ callable $output_callback = NULL [, int $chunk_size = 0 [, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS ]]] )

ob_start() démarre la temporisation de sortie. Tant qu'elle est enclenchée, aucune donnée, hormis les en-têtes, n'est envoyée au navigateur, mais temporairement mise en tampon.

Le contenu de ce tampon peut être copié dans une chaîne avec la fonction ob_get_contents(). Pour afficher le contenu de ce tampon, utilisez ob_end_flush(). Au contraire, ob_end_clean() effacera le contenu de ce tampon.
Avertissement

Quelques serveurs web (par exemple Apache) modifient le dossier de travail d'un script lorsqu'il appelle une fonction de rappel. Vous pouvez revenir à un comportement normal en ajoutant chdir(dirname($_SERVER['SCRIPT_FILENAME'])) dans votre fonction de rappel.

Les tampons de sortie sont gérés par pile, c'est-à-dire que vous pouvez appeler plusieurs fois ob_start() simultanément. Assurez-vous que vous appelez ob_end_flush() suffisamment souvent. Si plusieurs fonctions de rappel sont actives, les contenus seront filtrés séquentiellement, dans l'ordre d'emboîtement.

16

bool output_add_rewrite_var ( string $name , string $value )

Cette fonction ajoute une nouvelle paire nom/valeur au mécanisme de réécriture d'URL. Le nom et la valeur sera ajouté aux URL (en tant que paramètre GET) et aux formulaires (en tant que champs cachés) de la même façon que pour les identifiants de session lorsque la réécriture d'URL est activée avec session.use_trans_sid. Notez que les URL absolues, telles http://example.com/, ne sont pas réécrites.

Ce comportement est contrôlé par l'option url_rewriter.tags du php.ini.

Note: L'appel à cette fonction démarre implicitement la temporisation de sortie si elle n'est pas déjà activée.

17

bool output_reset_rewrite_vars ( void )

Cette fonction annule la règle de réécriture et efface toutes les variables de réécriture précédemment définies avec la fonction output_add_rewrite_var() ou par le mécanisme de session (si session.use_trans_sid a été défini lors de l'utilisation de la fonction session_start()).