gpt4 book ai didi

php - stream_context_set_params 与 stream_context_set_option

转载 作者:可可西里 更新时间:2023-10-31 23:48:56 26 4
gpt4 key购买 nike

文档怎么说

通过阅读 php.net,在我看来,stream_context_set_params 几乎与 stream_context_set_option 做同样的事情。即。

http://www.php.net/manual/en/function.stream-context-set-params.php

bool stream_context_set_params ( resource $stream_or_context , array $params )

http://www.php.net/manual/en/function.stream-context-set-option.php

bool stream_context_set_option ( resource $stream_or_context , array $options )

stream_context_set_option 支持 stream_context_set_params 不支持的附加参数,但除此之外它们似乎在做同样的事情。至少在理论上是这样。

我的测试显示了什么

我自己的测试表明情况并非如此,实际上让我想知道 stream_context_set_params 到底做了什么(如果有的话)。

使用stream_context_set_params...

<?php
$ctx = stream_context_create();
stream_context_set_params($ctx, array('zz' => array('zz' => 'zz')));
print_r(stream_context_get_options($ctx));

打印出以下内容(这让我感到惊讶):

Array
(
)

使用stream_context_set_option...

<?php
$ctx = stream_context_create();
stream_context_set_option($ctx, array('zz' => array('zz' => 'zz')));
print_r(stream_context_get_options($ctx));

打印出以下内容(如我所料):

Array
(
[zz] => Array
(
[zz] => zz
)

)

所以我真的没有头绪。有什么想法吗?

最佳答案

bool stream_context_set_params(资源 $stream_or_context,数组 $params)

这次它只接受'notification'参数键,并被stream_notification_callback使用。

您可以在此处查看支持的上下文参数列表: http://php.net/manual/en/context.params.php

<?php $opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
),
);

$context = stream_context_create($opts);
stream_context_set_params($context
, ['notification' => 'your_call_back_notification']
);


var_dump(stream_context_get_params($context));

输出:

Array(
[notification] => your_call_back_notification
[options] => Array
(
[http] => Array
(
[method] => GET
[header] => Accept-language: en
Cookie: foo=bar

)

)
)

您可能会收到通知回调的警告错误,它必须是一个有效的可调用对象。看http://php.net/manual/en/function.stream-notification-callback.php了解更多信息。

关于php - stream_context_set_params 与 stream_context_set_option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com