码迷,mamicode.com
首页 > 移动开发 > 详细

stream_wrapper_register()

时间:2019-04-20 16:59:20      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:系统   配置   使用   官方   协议   查看   exist   www.   tar   

concept:

流(Stream)php4.3引进,用于统一数据操作,以使共享同一套函数,比如file_get_contents()<即可打开本地文件也可以访问url>,简单点讲,流就是表现出流式数据行为的资源对象。是对流式数据的抽象.

 

流有点类似数据库抽象层,在数据库抽象层方面,不管使用何种数据库,在抽象层之上都使用相同的方式操作数据,
而流是对数据的抽象,它不管是本地文件还是远程文件还是压缩文件等等,只要来的是流式数据,那么操作方式就是一样的.

 

有了流这个概念就引申出了包装器wrapper这个概念,每个流都对应一种包装器

流是从统一操作这个角度产生的一个概念,而包装器呢是从理解流数据内容出发产生的一个概念,也就是这个统一的操作方式怎么操作或配置不同的内容;

这些内容都是以流的方式呈现,但内容规则是不一样的,比如http协议传来的数据是流的方式,但只有http包装器才理解http协议传来的数据的意思,

官方手册说:“一个包装器是告诉流怎么处理特殊协议或编码的附加代码”明白这句话的意思了吗?

 

包装器可以嵌套,一个流外面包裹了一个包装器后,还可以在外层继续包裹包装器,这个时候里层的包装器相对于外层的包装器充当流的角色

 

php支持的协议和包装器请看这里:http://php.net/manual/zh/wrappers.php

<PHP 带有很多内置 URL 风格的封装协议,可用于类似 fopen()、 copy()、 file_exists() 和 filesize() 的文件系统函数。 除了这些封装协议,还能通过 stream_wrapper_register() 来注册自定义的封装协议。>

默认的支持了一些协议和包装器,请用stream_get_wrappers()函数查看.也可以自定义一个包装器,用stream_wrapper_register()注册

尽管RFC 3986里面可以使用:做分割符,但php只允许://,所以url请使用"scheme://target"这样的格式

reference:

https://blog.csdn.net/u011474028/article/details/52814049

stream_wrapper_register()

标签:系统   配置   使用   官方   协议   查看   exist   www.   tar   

原文地址:https://www.cnblogs.com/amirong/p/10741483.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!