Tistory로 작성된 글을 Velog로 옮기는 중입니다.
원글 : https://paric.tistory.com/787
stream_context_create(?array $options = null, ?array $params = null): resource
사전 설정 에 제공된 모든 옵션을 사용하여 스트림 컨텍스트를 만들고 반환합니다
stream_context_create — 스트림 컨텍스트를 생성합니다.
stream_context_get_default — 기본 스트림 컨텍스트 검색
stream_context_get_options — 스트림/래퍼/컨텍스트에 대한 옵션 검색
stream_context_get_params — 컨텍스트에서 매개변수를 검색합니다.
stream_context_set_default — 기본 스트림 컨텍스트 설정
stream_context_set_option — 스트림/래퍼/컨텍스트에 대한 옵션을 설정합니다.
stream_context_set_params — 스트림/래퍼/컨텍스트에 대한 매개변수 설정
stream_context_set_option
( resource $stream_or_context, string $wrapper, string $option, mixed $value): bool
stream_context_set_option(resource $stream_or_context, array $options): bool
스트림/래퍼/컨텍스트에 대한 옵션을 설정합니다.
스트림 옵션 목록은 컨텍스트 옵션 및 매개변수 를 참조하세요
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
스트림 필터
stream_get_filters(): array
실행 중인 시스템에 등록된 필터 목록을 검색합니다.
stream_filter_append — 스트림에 필터 연결
stream_filter_prepend — 스트림에 필터 연결
stream_filter_register — 사용자 정의 스트림 필터 등록
stream_filter_remove — 스트림에서 필터 제거
스트림 Socket
stream_socket_server — 인터넷 또는 Unix 도메인 서버 소켓 생성
stream_socket_client — 인터넷 또는 Unix 도메인 소켓 연결 열기
stream_socket_accept — stream_socket_server에 의해 생성된 소켓에 대한 연결 수락
stream_socket_enable_crypto — 이미 연결된 소켓에서 암호화 켜기/끄기
stream_socket_get_name — 로컬 또는 원격 소켓의 이름 검색
stream_socket_pair — 연결되고 구별할 수 없는 소켓 스트림 쌍을 생성합니다.
stream_socket_recvfrom — 연결 여부에 관계없이 소켓에서 데이터 수신
stream_socket_sendto — 연결 여부에 관계없이 소켓에 메시지를 보냅니다.
stream_socket_shutdown — 전이중 연결 종료
예제 #1 TCP 서버 소켓 사용
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!$socket) {
echo "$errstr ($errno)<br />\n";
} else {
while ($conn = stream_socket_accept($socket)) {
fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n");
fclose($conn);
}
fclose($socket);
}
예제 #2 UDP 서버 소켓 사용
$socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
die("$errstr ($errno)");
}
do {
$pkt = stream_socket_recvfrom($socket, 1, 0, $peer);
echo "$peer\n";
stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer);
} while ($pkt !== false);
예제
$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
while (!feof($fp)) {
echo fgets($fp, 1024);
}
fclose($fp);
}
예제 #3. stream_socket_client() UDP 연결 예제
localhost의 UDP 서비스 "daytime"(포트 13)에서 날짜와 시간을 검색합니다.
$fp = stream_socket_client("udp://127.0.0.1:13", $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br />\n";
} else {
fwrite($fp, "\n");
echo fread($fp, 26);
fclose($fp);
}
참고 사항
- php_user_filter::filter — 필터를 적용할 때 호출됩니다.
- php_user_filter::onClose — 필터를 닫을 때 호출됩니다.
- php_user_filter::onCreate — 필터를 생성할 때 호출됩니다.
- streamWrapper::__construct — 새 스트림 래퍼를 생성합니다.
- streamWrapper::__destruct — 기존 스트림 래퍼를 파괴합니다.
- streamWrapper::dir_closedir — 디렉토리 핸들 닫기
- streamWrapper::dir_opendir — 디렉토리 핸들 열기
- streamWrapper::dir_readdir — 디렉토리 핸들에서 항목 읽기
- streamWrapper::dir_rewinddir — 디렉토리 핸들 되감기
- streamWrapper::mkdir — 디렉토리 생성
- streamWrapper::rename — 파일 또는 디렉토리의 이름을 바꿉니다.
- streamWrapper::rmdir — 디렉토리를 제거합니다.
- streamWrapper::stream_cast — 기본 리소스 검색
- streamWrapper::stream_close — 리소스 닫기
- streamWrapper::stream_eof — 파일 포인터에서 파일 끝 테스트
- streamWrapper::stream_flush — 출력을 플러시합니다.
- streamWrapper::stream_lock — 권고 파일 잠금
- streamWrapper::stream_metadata — 스트림 메타데이터 변경
- streamWrapper::stream_open — 파일 또는 URL을 엽니 다.
- streamWrapper::stream_read — 스트림에서 읽기
- streamWrapper::stream_seek — 스트림의 특정 위치를 찾습니다.
- streamWrapper::stream_set_option — 스트림 옵션 변경
- streamWrapper::stream_stat — 파일 리소스에 대한 정보 검색
- streamWrapper::stream_tell — 스트림의 현재 위치 검색
- streamWrapper::stream_truncate — 스트림 자르기
- streamWrapper::stream_write — 스트림에 쓰기
- streamWrapper::unlink — 파일 삭제
- streamWrapper::url_stat — 파일에 대한 정보 검색
- stream_bucket_append — 여단에 버킷 추가
- stream_bucket_make_writeable — 여단에서 작업할 버킷 객체를 반환합니다.
- stream_bucket_new — 현재 스트림에서 사용할 새 버킷 생성
- stream_bucket_prepend — 여단 앞에 버킷 추가
- stream_context_create — 스트림 컨텍스트를 생성합니다.
- stream_context_get_default — 기본 스트림 컨텍스트 검색
- stream_context_get_options — 스트림/래퍼/컨텍스트에 대한 옵션 검색
- stream_context_get_params — 컨텍스트에서 매개변수를 검색합니다.
- stream_context_set_default — 기본 스트림 컨텍스트 설정
- stream_context_set_option — 스트림/래퍼/컨텍스트에 대한 옵션을 설정합니다.
- stream_context_set_params — 스트림/래퍼/컨텍스트에 대한 매개변수 설정
- stream_copy_to_stream — 한 스트림에서 다른 스트림으로 데이터를 복사합니다.
- stream_filter_append — 스트림에 필터 연결
- stream_filter_prepend — 스트림에 필터 연결
- stream_filter_register — 사용자 정의 스트림 필터 등록
- stream_filter_remove — 스트림에서 필터 제거
- stream_get_contents — 스트림의 나머지 부분을 문자열로 읽습니다.
- stream_get_filters — 등록된 필터 목록 검색
- stream_get_line — 스트림 리소스에서 지정된 구분 기호까지 줄을 가져옵니다.
- stream_get_meta_data — 스트림/파일 포인터에서 헤더/메타 데이터 검색
- stream_get_transports — 등록된 소켓 전송 목록 검색
- stream_get_wrappers — 등록된 스트림 목록 검색
- stream_is_local — 스트림이 로컬 스트림인지 확인
- stream_isatty — 스트림이 TTY인지 확인
- stream_notification_callback — 알림 컨텍스트 매개변수에 대한 콜백 함수
- stream_register_wrapper — stream_wrapper_register의 별칭
- stream_resolve_include_path — 포함 경로에 대해 파일 이름 확인
- stream_select — 시간 제한이 초 및 마이크로초로 지정된 지정된 스트림 배열에 대해 select() 시스템 호출과 동일한 것을 실행합니다.
- stream_set_blocking — 스트림에서 차단/비차단 모드 설정
- stream_set_chunk_size — 스트림 청크 크기 설정
- stream_set_read_buffer — 주어진 스트림에서 읽기 파일 버퍼링 설정
- stream_set_timeout — 스트림의 시간 초과 기간 설정
- stream_set_write_buffer — 주어진 스트림에서 쓰기 파일 버퍼링을 설정합니다.
- stream_socket_accept — stream_socket_server에 의해 생성된 소켓에 대한 연결 수락
- stream_socket_client — 인터넷 또는 Unix 도메인 소켓 연결 열기
- stream_socket_enable_crypto — 이미 연결된 소켓에서 암호화 켜기/끄기
- stream_socket_get_name — 로컬 또는 원격 소켓의 이름 검색
- stream_socket_pair — 연결되고 구별할 수 없는 소켓 스트림 쌍을 생성합니다.
- stream_socket_recvfrom — 연결 여부에 관계없이 소켓에서 데이터 수신
- stream_socket_sendto — 연결 여부에 관계없이 소켓에 메시지를 보냅니다.
- stream_socket_server — 인터넷 또는 Unix 도메인 서버 소켓 생성
- stream_socket_shutdown — 전이중 연결 종료
- stream_supports_lock — 스트림이 잠금을 지원하는지 여부를 알려줍니다.
- stream_wrapper_register — PHP 클래스로 구현된 URL 래퍼 등록
- stream_wrapper_restore — 이전에 등록되지 않은 내장 래퍼를 복원합니다.
- stream_wrapper_unregister — URL 래퍼 등록 취소