php에서 stream_context_get_options () 는 현재 스트림 컨텍스트에서 모든 옵션을 얻을 수있는 매우 실용적인 기능입니다. 이 기능을 이해하고 get_params () 와의 차이를 이해하는 것은 PHP의 스트림 작업을 깊이 이해하는 데 매우 중요합니다. 이 기사는 Stream_Context_get_options () 의 반환 값을 자세히 설명하고이를 get_params () 의 차이와 비교합니다.
stream_context_get_options () 함수의 주요 함수는 현재 스트림 컨텍스트에 대한 모든 옵션을 포함하는 배열을 반환하는 것입니다. 스트림 컨텍스트는 파일 작업, 네트워크 요청 등과 같은 스트림 작업을 수행 할 때 사용되며 Stream_Context_Create () 함수를 통해 만들 수 있습니다.
stream_context_get_options ( resource $context ) : array
매개 변수 :
$ 컨텍스트 : 스트리밍 컨텍스트 리소스, 일반적으로 stream_context_create () 함수에 의해 생성됩니다.
반품 값 :
스트림 컨텍스트 옵션이 포함 된 연관 배열을 반환합니다. 컨텍스트에 옵션이 없으면 빈 배열이 반환됩니다.
<?php
// 스트림 컨텍스트를 만듭니다,설정 HTTP 요청 User-Agent
$options = array(
'http' => array(
'header' => "User-Agent: PHP-script\r\n"
)
);
$context = stream_context_create($options);
// 현재 스트림 컨텍스트에 대한 모든 옵션을 얻으십시오
$optionsReturned = stream_context_get_options($context);
// 반환 된 옵션 배열을 인쇄하십시오
print_r($optionsReturned);
?>
출력 :
Array
(
[http] => Array
(
[header] => User-Agent: PHP-script
)
)
이 예에서는 Stream_Context_get_options ()가 HTTP 옵션을 포함하는 배열을 반환하고 HTTP 에는 헤더 필드가 포함되어 있습니다. 이 옵션은 HTTP 요청 헤더 사용자 에이전트를 지정합니다.
get_params () 함수는 스트림 컨텍스트의 매개 변수를 얻는 또 다른 방법이지만, 반환하는 컨텐츠는 stream_context_get_options () 와 다소 다릅니다. get_params () 는 일반적으로 특정 스트림 프로토콜, 특히 네트워크 스트림 작업에서 관련이 있으며 일부 스트림 구성 매개 변수를 얻는 데 더 중점을 둡니다.
get_params ( resource $context ) : array
매개 변수 :
$ 컨텍스트 : 스트림 컨텍스트 자원, 일반적으로 stream_context_create () 에 의해 생성됩니다.
반품 값 :
특정 프로토콜과 관련된 구성 매개 변수가 포함 된 배열을 반환합니다.
<?php
// 스트림 컨텍스트를 만듭니다,설정 HTTP 요청 proxy
$options = array(
'http' => array(
'proxy' => 'tcp://m66.net:8080'
)
);
$context = stream_context_create($options);
// 스트림 컨텍스트의 매개 변수를 얻습니다
$params = get_params($context);
// 반환 된 매개 변수 배열을 인쇄하십시오
print_r($params);
?>
출력 :
Array
(
[http] => Array
(
[proxy] => tcp://m66.net:8080
)
)
get_params () 에 의해 반환 된 배열은 Stream_Context_get_options () 가 반환 한 배열과 매우 유사하지만 그 기능은 컨텍스트에서 네트워크 흐름 프로토콜과 관련된 구성 매개 변수 추출에 중점을 둡니다.
stream_context_get_options () 및 get_params () 둘 다 스트림 컨텍스트의 일부 구성 매개 변수를 반환 할 수 있지만, 그들 사이에는 여전히 명백한 차이점이 있습니다.
기능 범위 :
stream_context_get_options () 네트워크 프로토콜 관련 매개 변수에 국한되지 않고 모든 유형의 컨텍스트 옵션을 반환합니다. 다양한 프로토콜 (예 : HTTP, FTP, SSL 등)에 대한 옵션이 포함될 수 있습니다.
get_params () 는 주로 프로토콜 관련 구성, 특히 네트워크 프로토콜 매개 변수를 얻는 데 사용됩니다.
시나리오 사용 :
특정 프로토콜에 대한 자세한 옵션과 구성이 필요한 경우 Stream_Context_get_options ()가 더 나은 선택입니다.
네트워크 프로토콜 (예 : http 또는 ftp)의 매개 변수에만 관심이있는 경우 get_params ()가 더 편리 할 수 있습니다.
반환 값 구조 :
두 가지에 의해 반환 된 배열 구조는 매우 유사하지만 get_params ()는 주로 프로토콜 레벨 매개 변수를 다룹니다. stream_context_get_options () 가 반환 한 컨텐츠는 더 일반적이며 더 많은 프로토콜 및 컨텍스트 설정에 적합합니다.
경우에 따라 스트림 컨텍스트의 설정을보다 완전히 확인하고 조정하려면이 두 기능을 사용해야 할 수도 있습니다.
<?php
// 스트림 컨텍스트를 만듭니다,포함하다 HTTP 그리고 SSL 옵션
$options = array(
'http' => array(
'header' => "User-Agent: PHP-script\r\n"
),
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false
)
);
$context = stream_context_create($options);
// 获取所有옵션
$optionsReturned = stream_context_get_options($context);
print_r($optionsReturned);
// 네트워크 프로토콜 관련 매개 변수를 가져옵니다
$params = get_params($context);
print_r($params);
?>
출력 :
Array
(
[http] => Array
(
[header] => User-Agent: PHP-script
)
[ssl] => Array
(
[verify_peer] =>
[verify_peer_name] =>
)
)
Array
(
[http] => Array
(
[header] => User-Agent: PHP-script
)
)
이 예에서는 Stream_Context_get_options ()가 HTTP 및 SSL 옵션을 포함한 모든 옵션을 반환하는 반면 get_params ()는 HTTP 프로토콜과 관련된 매개 변수 만 반환합니다.
stream_context_get_options () 는 모든 유형의 스트림에 컨텍스트 옵션을 얻는 데 적합한 일반적인 기능입니다.
get_params ()는 특히 네트워크 프로토콜과 관련된 매개 변수, 특히 네트워크 요청을 처리 할 때 구성을 위해 더 중점을 둡니다.
스트림 작업을 사용하는 경우 필요한 구성을 얻기 위해 올바른 기능을 선택하는 것이 매우 중요합니다.
이러한 차이점을 이해하면 특히 네트워크 요청을 처리 할 때 PHP의 스트리밍 작업을보다 잘 제어하고 관리 할 수 있습니다.