Funktionsname: Stream_filter_remove ()
Anwendbare Version: Php 4> = 4.3.0, Php 5, Php 7
Funktion Beschreibung: Die Funktion von Stream_filter_Remove () wird verwendet, um einen Filter aus dem angegebenen Stream zu entfernen.
Syntax: bool stream_filter_remove (Ressource $ stream_filter)
Parameter:
Rückgabewert: Return True Wenn der Filter erfolgreich entfernt wird; ansonsten false zurückgeben.
Beispiel:
// 创建一个过滤器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);
Im obigen Beispiel erstellen wir zunächst einen benutzerdefinierten Filter namens MyFilter, der Zeichen aus dem Eingabestream in Großbuchstaben konvertiert. Anschließend öffnen wir einen Dateistrom und fügen den MyFilter -Filter mit der Funktion von Stream_filter_Append () an den Stream hinzu. Anschließend verwenden wir die Funktion fGets () zum Lesen und Ausgabe des Dateiinhalts, mit dem die Filter () -Methode von MyFilter ausgelöst wird, um die Daten zu verarbeiten. Schließlich verwenden wir die Funktion von Stream_filter_Remove (), um den MyFilter -Filter zu entfernen und den Dateistrom zu schließen.
Beachten Sie, dass der Fluss nach dem Entfernen des Filters nicht mehr vom Filter beeinflusst wird.