标准输入输出流是指程序默认的输入输出流,也就是键盘输入和屏幕输出。在PHP中,可以使用fopen('php://stdin', 'r')
打开标准输入流,使用fopen('php://stdout', 'w')
打开标准输出流。
文件流是指与文件相关联的流,可以从文件中读取数据或将数据写入文件。在PHP中,可以使用fopen()
函数打开文件流,使用fread()
函数读取文件数据,使用fwrite()
函数将数据写入文件。
数据流是指用于处理非文本数据的流,例如音频、视频、图像等。在PHP中,可以使用fopen('data://', 'r')
打开数据流,使用fread()
函数读取数据,使用fwrite()
函数将数据写入数据流。
网络流是指与网络相关联的流,可以通过网络发送和接收数据。在PHP中,可以使用fsockopen()
函数打开网络流,使用fread()
函数接收数据,使用fwrite()
函数发送数据。
压缩流是指用于处理压缩数据的流,例如ZIP、GZIP等格式。在PHP中,可以使用gzopen()
函数打开压缩流,使用gzread()
函数读取压缩数据,使用gzwrite()
函数将数据写入压缩流。
示例代码:
// 打开文件流
$file = fopen('example.txt', 'r');
// 读取文件数据
$data = fread($file, filesize('example.txt'));
// 将数据写入文件
$file = fopen('example.txt', 'w');
fwrite($file, 'Hello, World!');
// 打开网络流
$fp = fsockopen('www.example.com', 80, $errno, $errstr, 30);
// 发送请求
fwrite($fp, "GET / HTTP/1.1\r\n");
fwrite($fp, "Host: www.example.com\r\n");
fwrite($fp, "Connection: close\r\n\r\n");
// 接收响应
while (!feof($fp)) {
echo fgets($fp, 1024);
}
// 关闭流
fclose($file);
fclose($fp);