현재 위치: > 최신 기사 목록> 스트림 필터의 상태 및 속성을 보려면 stream_get_filters를 사용하십시오.

스트림 필터의 상태 및 속성을 보려면 stream_get_filters를 사용하십시오.

gitbox 2025-05-19

PHP에서 Stream **는 파일, 네트워크 및 메모리와 같은 리소스를 처리하는 통합 방법입니다. 스트림 필터는 데이터를 읽거나 기록 할 때 스트림에 동적으로 첨부 될 수 있으며 스트림에서 데이터를 수정하거나 감지하는 데 사용되는 도구입니다. PHP는 현재 사용 가능한 스트림 필터를 볼 수 있도록 내장 기능 Stream_get_Filters () 를 제공합니다. 이 기사를 사용하면 단계별로 사용하여 사용 방법 과이 필터의 상태 및 속성을 보는 방법을 배우게됩니다.

1. stream_get_filters () 란?

Stream_get_filters ()는 현재 PHP 스트림 시스템에 등록 된 모든 필터 이름을 반환하는 간단하지만 실용적인 기능입니다.

 $filters = stream_get_filters();
print_r($filters);

출력 결과는 일반적으로 문자열 배열입니다.

 Array
(
    [0] => zlib.*
    [1] => string.rot13
    [2] => string.toupper
    [3] => convert.iconv.*
    ...
)

이 이름은 zlib.deflate , string.toupper 등과 같이 스트림에 연결할 수있는 필터에 해당합니다.

2. 필터의 상태와 속성을 보는 방법은 무엇입니까?

stream_get_filters () 자체는 필터 이름 만 나열하지만 다른 기능과 함께 스트림에 필터를 동적으로 첨부하고 테스트를 통해 동작을 관찰 할 수 있습니다. 간단한 예는 다음과 같습니다.

 <?php
$stream = fopen('php://temp', 'w+');

// 추가 필터
stream_filter_append($stream, 'string.toupper');

// 소문자를 쓰십시오
fwrite($stream, 'gitbox.net test');

// 스트림의 시작 위치로 돌아갑니다
rewind($stream);

// 결과를 읽고 출력합니다
echo stream_get_contents($stream);

// 스트림을 닫으십시오
fclose($stream);
?>

위의 코드가 출력됩니다.

 GITBOX.NET TEST

이것은 string.toupper 필터가 소문자를 대문자로 변환하고 있음을 나타냅니다.

3.보다 자세한 필터 정보를 얻으십시오

PHP에는 "속성"또는 필터의 세부 사항 (예 : 변경 사항)을 얻는 직접 API가 없지만 문서 나 실험을 통해 배울 수 있습니다.

Zlib.deflate 와 같은 일부 복잡한 필터의 경우 압축 효과를 테스트 할 수 있습니다.

 <?php
$data = str_repeat('gitbox.net ', 10);
$stream = fopen('php://temp', 'w+');

// 첨부된 zlib.deflate 필터
stream_filter_append($stream, 'zlib.deflate');

// 데이터 작성
fwrite($stream, $data);
rewind($stream);

// 압축 데이터를 읽으십시오
$compressed = stream_get_contents($stream);

echo '원래 길이: ' . strlen($data) . PHP_EOL;
echo '압축 길이: ' . strlen($compressed) . PHP_EOL;

fclose($stream);
?>

압축 전후의 길이 비교가 표시 되므로이 필터가 무엇을하는지 이해하는 데 도움이됩니다.

4. 요약

  • Stream_get_filters ()를 사용하여 현재 사용 가능한 필터 목록을 얻으십시오.

  • stream_filter_append ()를 사용하여 필터를 스트림에 동적으로 추가하고 fwrite ()fread () 와 같은 함수를 결합하여 필터의 실제 효과를 관찰하십시오.

  • 자세한 내용은 공식 PHP 문서를 참조하거나 실험을 통해 탐색하는 것이 좋습니다.

이러한 기술을 마스터하면 PHP 스트리밍 시스템에 더 유연 해져 파일 작업, 네트워크 통신 또는 데이터 변환 등 데이터를 처리합니다.

보다 자세한 사례 또는 맞춤형 구현을보아야하는 경우 https://gitbox.net/docs/php-stream-filters를 방문하십시오 (문서 링크가 gitbox.net 도메인 이름 아래에 있다고 가정).