stream_filter_append
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
stream_filter_append — Attache un filtre à un flux en fin de liste
Description
$stream
, string $filtername
[, int $read_write
[, mixed $params
]] )
stream_filter_append() ajoute le filtre
filtername
à la liste de filtres attachés au
flux stream
.
Liste de paramètres
-
stream
-
Le flux cible.
-
filtername
-
Le nom du filtre.
-
read_write
-
Par défaut, stream_filter_append() va ajouter le filtre à la liste de filtres de lecture si le fichier a été ouvert en mode lecture (r et/ou +). Le filtre sera aussi attaché à la liste des filtres de lecture si le fichier a été ouvert en mode lecture (w, a et/ou +).
STREAM_FILTER_READ
,STREAM_FILTER_WRITE
, et/ouSTREAM_FILTER_ALL
peuvent aussi être utilisées dans le paramètreread_write
pour contrôler ce comportement. -
params
-
Ce filtre sera ajouté avec les paramètres
params
à la fin de la liste des filtres, et sera ainsi appelé à la fin des opérations de filtres. Pour ajouter un filtre au début de la liste, utilisez la fonction stream_filter_prepend().
Valeurs de retour
Retourne une ressource en cas de succès, ou FALSE
si une erreur survient.
La ressource peut être utilisée pour se référer à l'instance de ce filtre
lors d'un appel à la fonction stream_filter_remove().
FALSE
est retourné si stream
n'est pas une ressource
ou si filtername
ne peut être atteint.
Historique
Version | Description |
---|---|
5.1.0 |
Avant PHP 5.1.0, cette fonction retournait TRUE en
cas de succès ou FALSE si une erreur survient.
|
Exemples
Exemple #1 Contrôler l'application des filtres
<?php
// Ouverture d'un fichier de test en lecture/écriture
$fp = fopen('test.txt', 'w+');
/* On applique le filtre ROT13 au flux d'écriture, mais pas à
* celui de lecture */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
/* On ajoute un simple chaîne dans le fichier, il sera
* transformé par ROT13 à l'écriture */
fwrite($fp, "Ceci est un test\n");
/* On revient au début du fichier */
rewind($fp);
/* On lit le contenu du fichier.
* Si on appliquait le filtre ROT13 nous aurions la
* chaîne dans son étât d'origine */
fpassthru($fp);
fclose($fp);
/* Résultat attendu
----------------
Guvf vf n grfg
*/
?>
Notes
Note: Quand vous utilisez des filtres personnalisés
stream_register_filter() doit être appelée avant stream_filter_append() pour enregistrer le filtre sous le nom defiltername
.
Note: Les données du flux (locales et distantes) sont retournées en morceaux, les données non acheminées étant conservées dans le tampon interne. Lorsqu'un nouveau filtre est ajouté à la fin du flux, les données dans le tampon interne sont passées dans le nouveau filtre à ce moment-là. Ceci est différent du comportement de stream_filter_prepend().
Note: Quand un filtre est ajouté pour la lecture et l'écriture, deux instances du filtres sont créées. stream_filter_prepend() doit être appelée deux fois avec
STREAM_FILTER_READ
etSTREAM_FILTER_WRITE
pour obtenir les ressources de filtres.
Voir aussi
- stream_filter_register() - Enregistre un filtre de flux
- stream_filter_prepend() - Attache un filtre à un flux en début de liste
- stream_get_filters() - Liste les filtres enregistrés
Version en cache
23/12/2024 07:37:17 Cette version de la page est en cache (à la date du 23/12/2024 07:37:17) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.stream-filter-append.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.