background image

       PHP

 

     输入输出流学习和认识

 

 

PHP 输入和输出流是通过 php://

 

来访问的,它允许访问 PHP 的输入输出流、标准输入输

 

出和错误描述符, 内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源
的过滤器。

php://stdin, php://stdout   

和 php://stderr

php://stdin,php://stdout   

和 php://stderr

 

允许访问 PHP 进程相应的输入或者输出流。

php://input

php://input 

 

是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使

用 php://input 来代替 $HTTP_RAW_POST_DATA(原生的 post 数据),因为它不依
赖于特定的 php.ini 指令,内存消耗更少。如下例:

1.

<form

 

action

=

""

 

method

=

"post"

>

2.     

<input

 

type

=

"text"

 

name

=

"test"

 

>

 

<input

 

type

=

"submit"

 

name

=

"" 

/>

3. </form>

4.

<?

php

5.     echo file_get_contents

(

"php://input"

);

6. ?>

结果:

php://output

php://output 

 

是一个只写的数据流, 允许你以 print 和 echo 

 

一样的方式 写入到输出

缓冲区。

php://fd

php://fd 

 

允许直接访问指定的文件描述符。 例如 php://fd/3 

 

引用了文件描述符 3。

php://memory   

和 php://temp

php://memory 和 php://temp 

 

是一个类似文件 包装器的数据流,允许读写临时数据。 

两者的唯一区别是 php://memory 

 

总是把数据储存在内存中, 而 php://temp 会在内