PHP支持的协议和封装的协议
今天主要看了下PHP支持的协议和封装的协议,主要了解了一下PHP中的配置协议方面的东西,弄明白了以前比较模糊的stream_context_create()等上下文方法,还没有完全看完,先将自己的片段代码贴在这里,mark一下。
<?php
/**
* Created by PhpStorm.
* User: f3ngt1ng
* Date: 2017/2/14
* Time: 9:14
* Today is lovers' day~~
*/
//上下文(context)选项和参数(支持的协议和封装协议)
//allow_url_fopen = 1
/*
$url = 'http://www.baidu.com';
$fp = fopen($url, 'r');
$meta_data = stream_get_meta_data($fp);
$stream_contents = stream_get_contents($fp);
var_dump($meta_data);
*/
//echo ini_get('allow_url_fopen');
//print_r($stream_contents); //php://
/*$fp = fopen('php://stdin', 'r');
while($line = fgets($fp)){
fwrite(STDOUT, $line);
//echo $line.'xx'.'\r\n';
}
fclose($fp);
*/
//echo sys_get_temp_dir();
//哪些受allow_url_fopen影响
/*
$url = 'http://www.google.com';
readfile("php://filter/read=string.rot13/resource=$url");
file_put_contents("php://filter/write=string.toupper/resource=xxx", 'hello,world~');
*/
//ini_set("allow_url_fopen", 0);
//echo ini_get('allow_url_fopen');
//readfile('http://www.baidu.com');
/*
$fp = fopen("php://filter/write=string.toupper|convert.base64-encode/resource=filter.txt" ,'w');
fputs($fp, 'hello,world');
fclose($fp);
*/
/*
$file = fopen('filter.txt', 'r');
stream_filter_append($file, 'convert.base64-decode', STREAM_FILTER_READ); while($line = fgets($file)){
echo $line;
} fclose($file);
*/
// readfile vs fopen/fgets/fgetc
//readfile("php://filter/read=convert.base64-decode/resource=filter.txt");
//$filters = stream_get_filters();
//print_r($filters);
//$wrappers = stream_get_wrappers();
//print_r($wrappers);
/*
$fp = fopen('data://text/plain;base64,SEVMTE8sV09STEQ=', 'r');
$media_type = stream_get_meta_data($fp);
echo $media_type['mediatype'];
print_r($media_type);*/ //echo ini_get('allow_url_include');
ini_set('allow_url_include', 'On');
//需要allow_url_fopen打开
echo ini_get('allow_url_include');
PHP支持的协议和封装的协议的更多相关文章
- PHP 支持的协议/封装协议列表
附录 L. 支持的协议/封装协议列表 目录 文件系统 Socket HTTP 和 HTTPS FTP 和 FTPS PHP 输入/输出流 压缩流 Secure Shell 2 音频流 以下是 PHP ...
- Python 基于urllib.request封装http协议类
基于urllib.request封装http协议类 by:授客QQ:1033553122 测试环境: Python版本:Python 3.3 代码实践 #!/usr/bin/env python ...
- 协议系列之HTTP协议
什么是HTTP\HTTPS HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.HTTP协议用于从WWWserver传输超文本到本地浏览器的传输协议,它能使浏览 ...
- 网络协议 终章 - GTP 协议:复杂的移动网络
前面都是讲电脑上网的情景,今天我们就来认识下使用最多的移动网络上网场景. 移动网络的发展历程 你一定知道手机上网有 2G.3G.4G 的说法,究竟这都是什么意思呢?有一个通俗的说法就是 ...
- rtp协议详解/rtcp协议详解
转自:http://www.cnblogs.com/li0803/archive/2010/11/20/1882792.html 1.简介 目前,在IP网络中实现实时语音.视频通信和应用已经成为网络应 ...
- 【网络协议】ARP地址解析协议
地址解析协议ARP 在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址.而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址.这就导致在以太 ...
- trust an HTTPS connection 安全协议 随机数 运输层安全协议 应用层安全协议 安全证书
小结: 1.HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间) HTTPS(全称:Hyper Text Transfer Protocol over Secure ...
- 老李推荐:第4章3节《MonkeyRunner源码剖析》ADB协议及服务: ADB协议概览
老李推荐:第4章3节<MonkeyRunner源码剖析>ADB协议及服务: ADB协议概览 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试, ...
- 老李推荐:第4章1节《MonkeyRunner源码剖析》ADB协议及服务: ADB协议概览 1
老李推荐:第4章1节<MonkeyRunner源码剖析>ADB协议及服务: ADB协议概览 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试, ...
随机推荐
- POJ 3041 Asteroids / UESTC 253 Asteroids(二分图最大匹配,最小点匹配)
POJ 3041 Asteroids / UESTC 253 Asteroids(二分图最大匹配,最小点匹配) Description Bessie wants to navigate her spa ...
- flume 1.7在windows下的安装与测试
一.安装 安装java,配置环境变量. 安装flume,下载地址,下载后直接解压即可. 二.运行 创建配置文件:在解压后的文件 apache-flume-1.7.0-bin\conf下创建一个exam ...
- simpleImageTool又纯java图片水印、缩放工具
simpleImageTool又一个简单.好用的图片格式转换.缩放水印叠加等功能的纯Java图片工具库. simpleImageTool的由来,近期需要用到图片处理,通过网上的图片流直接进行缩放水印叠 ...
- 20170714_js闭包变量重置
<html> <body> <script> function createFunctions(){ var result = new Array(); for ( ...
- python中的判断语句与循环语句
if语句 每条if语句的核心都是一个值为Ture或False的表达式,这种表达式被称为为条件测试.if语句检查程序当前状态,并据此采取相应的措施.如果条件测试的值为Ture,Python就执行紧跟在i ...
- JDK+Tomcat+Zookeeper+DubboAdmin安装教程
JDK+Tomcat+Zookeeper+DubboAdmin安装教程 1. 安装内容: JDK 1.8.131 Tomcat 7.0.77 Zookeeper 3.4.9 Dubbo admin 2 ...
- Ansible 运维自动化 ( 配置管理工具 )
背景 出差背景,要搞项目的自动化部署.因为只直接对接生产分发,机器又非常多,这样以往使用的bat只能作为应急方案了,还是得考虑使用专业化的工具来做这个事情! 当下有许多的运维自动化工具( 配置管理 ) ...
- LFCP
场景:总结LFCP项目开发中遇到的问题! 1 运营支撑 项目结构: 1.1 hessian配置 服务端实现: 客户端调用: 1.2 问题排查 之前一段时间,运营支撑项目能够正常运行,中间有其它事情要做 ...
- cordova plugin汇总大全
1.获取当前应用的版本号 cordova plugin add cordova-plugin-app-version 2.获取网络连接信息 cordova plugin add cordova-plu ...
- 【HTML】canvas学习小结
1. 绘制基本图形 -----上下文---------------------------------------------------------- canvas.getContext('2d') ...