PHP에서 stream_get_filters 함수는 현재 PHP에 사용 가능한 모든 스트림 필터를 나열하는 편리한 방법을 제공합니다. 스트림 필터는 스트림의 내용을 수정하거나 스트림 데이터를 읽을 때 전처리와 같은 데이터 스트림을 처리하는 데 사용되는 기능입니다. 이는 파일, 네트워크 요청 및 메모리 스트림을 처리하는 데 매우 유용합니다.
스트림 필터는 데이터를 읽거나 작성할 때 데이터를 수정할 수있는 메커니즘입니다. PHP는 일부 내장 스트림 필터를 제공하며 사용자는 스트림 필터를 사용자 정의 할 수 있습니다. 스트림 필터를 통해 압축, 암호화, 캐릭터 세트 변환 등과 같은 작업을 구현할 수 있습니다.
스트림 필터는 PHP의 스트림 작동 기능을 통해 데이터 스트림과 함께 사용되므로 스트림 읽기 및 쓰기 중에 필터링 또는 변환 할 수 있습니다.
stream_get_filters 기능은 매우 간단합니다. 호출하면 현재 PHP 환경에서 등록 된 스트림 필터의 이름이 포함 된 배열을 반환합니다.
array stream_get_filters ( void )
stream_get_filters 함수는 사용 가능한 모든 스트림 필터 이름을 포함하는 배열을 반환합니다. 사용 가능한 스트림 필터가 없으면 빈 배열을 반환합니다.
<?php
// 현재 사용 가능한 모든 스트림 필터를 얻으십시오
$filters = stream_get_filters();
// 인쇄 필터 목록
echo "현재의 PHP 사용 가능한 유량 필터:\n";
print_r($filters);
?>
stream_get_filters에는 매개 변수가 필요하지 않으며 스트림 필터의 이름을 포함하는 배열을 직접 반환합니다.
위의 예에서는 print_r 함수를 사용하여 사용 가능한 모든 스트림 필터를 출력하십시오.
필요에 따라 흐름에서 작동 할 적절한 흐름 필터를 선택할 수 있습니다.
PHP에는 일반적으로 사용되는 몇 가지 유량 필터가 함께 제공됩니다. 몇 가지 일반적인 흐름 필터는 다음과 같습니다.
String.toupper : 스트림의 모든 문자를 대문자로 변환합니다.
String.tolower : 스트림의 모든 문자를 소문자로 변환합니다.
Convert.iconv.* : Convert.iconv.utf-8.iso-8859-1 과 같은 문자 세트 변환에 사용됩니다.
Zlib.deflate : 스트림의 데이터를 훼손합니다.
Zlib.inflate : 압축 데이터를 압축합니다.
PHP에서 스트림 필터를 사용하려면 일반적으로 Stream_Filter_Append 또는 Stream_Filter_Prepend 와 함께 필터를 적용해야합니다. 필터는 파일 스트림, 네트워크 스트림 또는 기타 유형의 스트림에 연결할 수 있습니다.
<?php
// 파일 스트림을 엽니 다
$stream = fopen('http://gitbox.net/sample.txt', 'r');
// 스트림 필터를 사용하여 텍스트를 대문자로 변환하십시오
stream_filter_append($stream, 'string.toupper');
// 데이터를 읽고 출력합니다(자동으로 대문자로 변환됩니다)
echo fread($stream, 1024);
// 스트림을 닫으십시오
fclose($stream);
?>
이 예에서는 파일 스트림을 열고 string.toupper 필터를 적용하여 모든 읽기 데이터를 대문자로 변환합니다.
Stream_get_filters 기능은 사용 가능한 모든 스트림 필터를 나열하는 데 도움이되는 매우 유용한 도구입니다. 이 필터를 통해 데이터에서 작동하여보다 복잡한 데이터 처리 작업을 달성 할 수 있습니다. 스트림 필터를 이해하고 사용하면 파일, 네트워크 요청 등과 같은 데이터 흐름을보다 효율적으로 처리 할 수 있습니다.