Streams php_user_filter::filter

(PHP 5, PHP 7, PHP 8)

php_user_filter::filter — 필터를 적용할 때 호출됨


설명

public php_user_filter::filter(
    resource $in,
    resource $out,
    int &$consumed,
    bool $closing
): int
                

이 메서드는 연결된 스트림에서 데이터를 읽거나 쓸 때마다 호출됩니다(예: fread() 또는 fwrite() 사용).


매개변수

in
in은 필터링할 데이터가 포함된 하나 이상의 bucket 객체를 포함하는 bucket brigade을 가리키는 리소스입니다.
out
out은 수정된 버킷이 배치되어야 하는 두 번째 bucket brigade을 가리키는 리소스입니다.
consumed
항상 참조로 선언되어야 하는 consumed는 필터가 읽고 변경하는 데이터의 길이만큼 증가해야 합니다. 대부분의 경우 이는 각 $bucket에 대해 $bucket->datalen에 의해 consumed되는 증가분을 의미합니다.
closing
스트림이 닫히는 중이면(따라서 이것이 필터 체인을 통한 마지막 패스임) closing 매개변수는 true로 설정됩니다.

반환 값

filter() 메서드는 완료 시 세 값 중 하나를 반환해야 합니다.

Return Value Meaning
PSFS_PASS_ON out bucket brigade에서 사용할 수 있는 데이터로 필터가 성공적으로 처리되었습니다.
PSFS_FEED_ME 필터가 성공적으로 처리되었지만 반환할 데이터가 없습니다. 스트림 또는 이전 필터에서 더 많은 데이터가 필요합니다.
PSFS_ERR_FATAL (default) 필터에 복구할 수 없는 오류가 발생하여 계속할 수 없습니다.