전환 필터

string.* 필터와 마찬가지로 convert.* 필터는 이름과 유사한 작업을 수행합니다. 주어진 필터에 대한 자세한 내용은 해당 기능의 매뉴얼 페이지를 참조하십시오.


convert.base64-encode and convert.base64-decode

이러한 필터를 사용하는 것은 각각 base64_encode()base64_decode() 함수를 통해 모든 스트림 데이터를 처리하는 것과 동일합니다. convert.base64-encode는 연관 배열로 제공된 매개변수를 지원합니다. line-length가 주어지면 base64 출력은 각각 line-length 문자 청크로 분할됩니다. line-break-chars가 주어지면 각 청크는 주어진 문자로 구분됩니다. 이러한 매개변수는 chunk_split()과 함께 base64_encode()를 사용하는 것과 동일한 효과를 제공합니다.

예제 #1 convert.base64-encode & convert.base64-decode

                  
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode');
fwrite($fp, "This is a test.\n");
fclose($fp);
/* Outputs:  VGhpcyBpcyBhIHRlc3QuCg==  */

$param = array('line-length' => 8, 'line-break-chars' => "\r\n");
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
fwrite($fp, "This is a test.\n");
fclose($fp);
/* Outputs:  VGhpcyBp
          :  cyBhIHRl
          :  c3QuCg==  */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "VGhpcyBpcyBhIHRlc3QuCg==");
fclose($fp);
/* Outputs:  This is a test.  */
?>
                  
                

convert.quoted-printable-encode and convert.quoted-printable-decode

이 필터의 디코드 버전을 사용하는 것은 quoted_printable_decode() 함수를 통해 모든 스트림 데이터를 처리하는 것과 같습니다. convert.quoted-printable-encode에 해당하는 기능은 없습니다. convert.quoted-printable-encode는 연관 배열로 제공된 매개변수를 지원합니다. convert.base64-encode에서 지원하는 매개변수 외에도 convert.quoted-printable-encode는 부울 인수 바이너리 및 강제 인코딩 우선을 지원합니다. convert.base64-decode는 인코딩된 페이로드에서 제거하기 위한 유형 힌트로 line-break-chars 매개변수만 지원합니다.

예제 #2 convert.quoted-printable-encode & convert.quoted-printable-decode

                  
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.quoted-printable-encode');
fwrite($fp, "This is a test.\n");
/* Outputs:  =This is a test.=0A  */
?>
                  
                

convert.iconv.*

iconv 지원이 활성화되고 사용이 iconv()로 모든 스트림 데이터를 처리하는 것과 동일한 경우 convert.iconv.* 필터를 사용할 수 있습니다. 이러한 필터는 매개변수를 지원하지 않지만 대신 필터 이름의 일부로 입력 및 출력 인코딩이 제공될 것으로 예상합니다. 즉, convert.iconv.<input-encoding>.<output-encoding> 또는 convert.iconv.<input-encoding>/<output-encoding>(두 표기법 모두 의미상 동일함).

예제 #3 convert.iconv.*

                  
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.iconv.utf-16le.utf-8');
fwrite($fp, "T\0h\0i\0s\0 \0i\0s\0 \0a\0 \0t\0e\0s\0t\0.\0\n\0");
fclose($fp);
/* Outputs: This is a test. */
?>