Streams 소개

스트림은 파일, 네트워크, 데이터 압축 및 공통 함수 및 용도 집합을 공유하는 기타 작업을 일반화하는 방법입니다. 가장 간단한 정의에서 stream은 스트리밍 가능한 동작을 나타내는 resource 개체입니다. 즉, 선형 방식으로 읽거나 쓸 수 있으며 스트림 내의 임의의 위치에 fseek()할 수 있습니다.

wrapper는 스트림에 특정 프로토콜/인코딩을 처리하는 방법을 알려주는 추가 코드입니다. 예를 들어, http 래퍼는 URL을 원격 서버의 파일에 대한 HTTP/1.0 요청으로 변환하는 방법을 알고 있습니다. 기본적으로 PHP에 내장된 많은 래퍼가 있으며(Supported Protocols and Wrappers 참조), 사용자 정의 래퍼는 stream_wrapper_register()를 사용하여 PHP 스크립트 내에서 또는 확장에서 직접 추가할 수 있습니다. 다양한 래퍼가 PHP에 추가될 수 있기 때문에 이러한 래퍼로 수행할 수 있는 작업에는 제한이 없습니다. 현재 등록된 래퍼 목록에 액세스하려면 stream_get_wrappers()를 사용하세요.

스트림은 scheme://target으로 참조됩니다.

  • scheme(string) - 사용할 래퍼의 이름입니다. 예: 파일, http, https, ftp, ftps, compress.zlib, compress.bz2 및 php. PHP 내장 래퍼 목록은 Supported Protocols and Wrappers를 참조하세요. 래퍼를 지정하지 않으면 함수 기본값이 사용됩니다(일반적으로 file://).
  • target - 사용하는 래퍼에 따라 다릅니다. 파일 시스템 관련 스트림의 경우 일반적으로 원하는 파일의 경로 및 파일 이름입니다. 네트워크 관련 스트림의 경우 일반적으로 경로가 추가되는 호스트 이름입니다. 기본 제공 스트림의 대상에 대한 설명은 Supported Protocols and Wrappers를 다시 참조하세요.