关于php支持的协议与封装协议

 1 <?php
 2 
 3 /*
 4  * php://stdin 标准输入流
 5  * php://stdout 标准输入流
 6  * php://stderr 标准错误流
 7  * php://output 只写的数据流
 8  * php://fd     允许直接方位文件描述符
 9  *
10  * php://memory 允许读写临时数据    php://memory 和 php://temp 都是允许读写的临时数据,他俩的唯一区别是 php://memory 总是把数据存在内存中
11  *                                  而php://temp 会在内存达到预定义的限制后把数据存在临时文件中,sys_get_temp_dir() 可以获取临时文件的地址
12  *                                  php://temp 的内存限制可以通过php://maxmemory:XX来限制,XX的单位是字节.
13  * php://temp   允许读写临时数据
14  *
15  * php://filter 数据筛选流 , 是一种元封装器,用于数据打开时筛选过滤应用
16  * */
17 /*
18  * 测试读写临时数据流,php://temp
19  *
20     $fiveMBs  =  5  *  1024  *  1024 ;
21     $fp  =  fopen ( "php://temp/maxmemory: $fiveMBs " ,  ‘r+‘ );
22 
23     fputs ( $fp ,  "hello\n" );
24 
25     // Read what we have written.
26     rewind ( $fp );
27     echo  stream_get_contents ( $fp );
28  */
29 
30 //测试只写数据流
31 $out = fopen("php://output","a");
32 fputs($out,"测试只能输出流");

 技术分享

可选项:

技术分享

php://filter 的试用方法:

1 /* 这会以大写字母输出 www.example.com 的全部内容 */
2  readfile ( "php://filter/read=string.toupper/resource=http://www.example.com" );
3 
4  /* 这会和以上所做的一样,但还会用 ROT13 加密。 */
5  readfile ( "php://filter/read=string.toupper|string.rot13/resource=http://www.example.com" );
1 /* 这会通过 rot13 过滤器筛选出字符 "Hello World"
2   然后写入当前目录下的 example.txt */
3  file_put_contents ( "php://filter/write=string.rot13/resource=example.txt" , "Hello World" );

 

PHP支持的封装协议大体上就这么理解了。

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。