PHP中的流上下文-它是什么



我已经搜索了几个小时,但我不知道PHP中的"流上下文"是什么。我正在尝试使用API,它涉及使用这个"流上下文"。

文件上写着:

上下文是一组参数和特定于包装器的选项,用于修改或增强流的行为。

  1. 什么参数
  2. 选项"特定于包装器"是什么意思
  3. 什么流

这是我所说的代码:

// Encode the credentials and create the stream context.
$auth = base64_encode("$acctKey:$acctKey");
$data = array(
'http' => array(
'request_fulluri' => true,
// ignore_errors can help debug – remove for production. This option added in PHP 5.2.10
'ignore_errors' => true,
'header' => "Authorization: Basic $auth")
);
$context = stream_context_create($data);
// Get the response from Bing.
$response = file_get_contents($requestUri, 0, $context);

我花了一段时间才理解PHP的流上下文选项和包装器。我写了一篇文章,讲述了是什么帮助我最终了解了如何理解PHP流上下文选项和包装器。我希望它能有所帮助。

为了正确处理后续的内容(流式数据),您需要适当的代码来处理传递的不同类型的项(数据类型)。用于处理每种不同类型的数据类型的工具是"参数"。

"上下文"由传递(流式传输)的内容决定。因此,对于正在"流式传输"(传递)的不同"上下文"(项目类型),"参数"(处理所需的工具)和"数据类型"(项目种类)将发生变化。

术语上下文只是指对于不同的数据类型,情况是唯一的,有其自己所需的参数。

PHP流包装器需要一个上下文,以便知道需要哪些参数来处理数据类型。

  1. 上下文的一个参数,用于修改流的属性。

  2. 这些选项特定于流所使用的任何包装器。这些示例包括文件、所有不同的php:// URI、HTTP包装器(就像执行file_get_contents('http://example.com')时一样——这与file_get_contents('some-file.txt')不同)

  3. 任何溪流!

在这种情况下,流上下文被传递给file_get_contents,告诉它将授权标头和那些选项发送到允许file_get_contents从HTTP URL获取内容的包装器。

您可以在PHP网站上找到HTTP上下文选项的列表。

  1. http、request_fulluri、ignore_errors、header都是参数。它们改变了函数(在本例中为file_get_contents)的工作方式。

  2. 特定于包装器的选项类似于"http"--您不会在文件系统文件流中使用它,因为它不适用。

  3. 流是数据本身的传输,当file_get_contents打开连接、传输所有内容等时发生

相关内容

  • 没有找到相关文章

最新更新