Nom de la fonction: stream_filter_remove ()
Version applicable: PHP 4> = 4.3.0, PHP 5, PHP 7
Fonction Description: La fonction Stream_Filter_Remove () est utilisée pour supprimer un filtre du flux spécifié.
Syntaxe: bool stream_filter_remove (ressource $ stream_filter)
paramètre:
Valeur de retour: renvoyer true si le filtre est supprimé avec succès; Sinon, renvoyez false.
Exemple:
// 创建一个过滤器class MyFilter extends php_user_filter { public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = strtoupper($bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; } } // 打开文件流$handle = fopen('input.txt', 'r'); // 添加过滤器stream_filter_append($handle, 'MyFilter'); // 读取并输出文件内容while (!feof($handle)) { echo fgets($handle); } // 移除过滤器stream_filter_remove($handle); // 关闭文件流fclose($handle);
Dans l'exemple ci-dessus, nous créons d'abord un filtre personnalisé appelé myFilter qui convertit les caractères du flux d'entrée en majuscules. Nous ouvrons ensuite un flux de fichiers et attachons le filtre MyFilter au flux à l'aide de la fonction Stream_Filter_APPEND (). Ensuite, nous utilisons la fonction FGETS () pour lire et sortir le contenu du fichier, qui déclenchera la méthode Filter () de MyFilter pour traiter les données. Enfin, nous utilisons la fonction Stream_Filter_Remove () pour supprimer le filtre MyFilter et fermer le flux de fichiers.
Notez qu'après le retrait du filtre, le flux ne sera plus affecté par le filtre.