我对PHP的流不了解

超级初学者在学习了一个月的编程后,决定参加PHP7初级技术认证考试,期间遇到了一个词叫做”流”(Stream)。
在讨论中了解到可以在file_get_contents()函数的第三个参数中传入流上下文(Stream Context)。
由于对此不太理解,所以我自己进行了一番调查,并总结了自己对这个概念的理解(不论是否正确)。

我对此的理解

流媒体

一个将数据流入、流出内存、文件和网络等抽象化处理的程序机制。

流媒体封套器

然而,对于像”文件和网络”这样不同的事物,处理方式也是不同的。因此,我们使用流包装器,通过file_get_contents()等相同的函数,使它们可以以相同的方式处理。

流式上下文

而在处理文件和网络时,流上下文指定了如何处理它们。
例如,当处理HTTP时,可以指定是使用GET还是POST,还可以指定请求的头部。

我参考了一些东西。

1. PHP手册

流是一种通用的方法,它具有与文件、网络、数据压缩等相关的一系列共同函数和用法。最简单的定义是,流是体现流动能力的资源对象。换句话说,流可以被线性地读取或写入,并且有时可以使用 fseek() 在流的任意位置进行定位。

……很难,我不太明白。

2. PHP的初次亲密接触

PHP引擎将程序和数据进行交互的基础机制被称为流。

一种让人感觉自己稍微理解的表达方式。

3. 「PHP流概述」hanawa先生

以透明方式处理对外部数据的输入/输出
可将任何东西当做文件来处理

我觉得我开始能够逐渐看清楚了。

4. IBM教程“学习PHP”

访问文件或其他资源的方法取决于文件存储的位置和文件存储的方式。访问本地文件的方法与通过HTTP或FTP访问位于远程服务器上的文件的方法完全不同。
幸运的是,在PHP中可以使用「流封装器」。无论资源存储在何处,只要有可用于PHP的封装器,该封装器就会找到调用方法。

我似乎对流包装器有了一个清晰的印象。

5. YYPHP#87 “How to effectively utilize PhpStorm”, “The difference between in-house service development and commissioned development”, “What content is necessary for a portfolio?”, “PHP Streams”

PHP的流式处理是从川中逐步提取数据并进行处理。
在PHP中,文件的读取是通过流式处理来完成的。

流的名字的原因。

6. 【PHP】什么是流?

处理输入输出功能。
逐行读取CSV文件,并将其保存到数据库中。
※file_get_contents虽然在PHP中被视为非流处理函数,但在其内部(在C语言级别)进行了流处理(可能)。

使用fgetcsv()函数逐行读取的概念。
还提到了file_get_contents()的补充说明。

7. IT词典

在编程领域中,通常表示处理数据的输入输出的一般抽象对象和数据类型。它是对程序中处理数据的某种对象(如内存空间、文件、网络等)进行抽象化,使得可以通过简单操作进行连接、断开连接、写入和读取等操作。

认为这是一个对象的话,就会非常清楚,但是可以理解成这样吗?

最后

虽然我觉得自己相当自作主张地接受了,但实际上我不太确定这是否正确。
如果您能提供正确的理解,那将非常有帮助。

在阅读了第一本PHP教材后,我对其中的细节产生了浓厚的兴趣,并在笔记中整理了有关流以外的内容。