PHP中的流介绍

时间:2024-07-31 08:57:07 PHP 我要投稿
  • 相关推荐

关于PHP中的流介绍

  PHP是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。

  概述

  流(streams)是PHP4.3版本引入的一个特性,主要是为了统一文件、sockets以及其他类似资源的工作方法。PHP4.3距今已经有很长时间了,但是很多程序员似乎都不能正确使用PHP中的流,当然这也包括我。以前也在一些程序中遇到过流的使用,如php://input,但是一直没机会整理,今天就把这部分知识整理下。

  流是由PHP提供的资源,可以供我们透明的使用,而且流是一个非常强大的工具。适当的在程序中使用流,可以将我们的程序带到一个新的高度。

  PHP手册中对流的描述如下:

  复制代码 代码如下:

  Streams were introduced with PHP 4.3.0 as a way of generalizing file, network, data compression, and other operations which share a common set of functions and uses. In its simplest definition, a stream is a resource object which exhibits streamable behavior. That is, it can be read from or written to in a linear fashion, and may be able to fseek() to an arbitrary locations within the stream.

  每一种流都实现了一个包装器(wrapper),包装器包含一些额外的代码用来处理特殊的协议和编码。PHP提供了一些内置的包装器,我们也可以很轻松的创建和注册自定义的包装器。我们甚至可以使用上下文(contexts)和过滤器来改变和增强包装器。

  流基础知识

  PHP中流的形式如:://。是包装器的名字,的内容取决于不同的包装器语法。

  默认的包装器是file://,也就是说每次我们访问文件系统的时候都使用了流。例如,我们可以使用如下两种方式来读取文件:readfile(/path/to/somefile.txt)和readfile(file:///path/to/somefile.txt),使用这两种方式读取文件,可以得到相同的结果。

  正如前面所说,PHP提供了一些内置的包装器、协议和过滤器。查看我们的机器上安装了哪些包装器,可以使用如下几个函数:

  复制代码 代码如下:

  var_dump(stream_get_transports());

  var_dump(stream_get_wrappers());

  var_dump(stream_get_filters());

  >

  我本地的环境输出内容如下:

  复制代码 代码如下:

  array (size=8)

  0 => string tcp (length=3)

  1 => string udp (length=3)

  2 => string unix (length=4)

  3 => string udg (length=3)

  4 => string ssl (length=3)

  5 => string sslv3 (length=5)

  6 => string sslv2 (length=5)

  7 => string tls (length=3)

  array (size=12)

  0 => string https (length=5)

  1 => string ftps (length=4)

  2 => string compress.zlib (length=13)

  3 => string compress.bzip2 (length=14)

  4 => string php (length=3)

  5 => string file (length=4)

  6 => string glob (length=4)

  7 => string data (length=4)

  8 => string http (length=4)

  9 => string ftp (length=3)

  10 => string phar (length=4)

  11 => string zip (length=3)

  array (size=12)

【PHP中的流介绍】相关文章:

简单分析PHP中序列化用法介绍08-15

PHP中curl的使用实例07-31

PHP中关于类的定义10-02

PHP中函数的使用说明09-01

PHP中的排序函数区别分析08-23

简单介绍php构造函数用法08-31

php中dirname()和--FILE--常量的用法09-26

PHP中date函数常用时间处理方法09-13

PHP中MySQL、MySQLi和PDO的用法和区别07-01

php中static静态变量的使用方法06-11