今天主要看了下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支持的协议和封装的协议的更多相关文章

  1. PHP&amp;nbsp;支持的协议/封装协议列表

    附录 L. 支持的协议/封装协议列表 目录 文件系统 Socket HTTP 和 HTTPS FTP 和 FTPS PHP 输入/输出流 压缩流 Secure Shell 2 音频流  以下是 PHP ...

  2. Python&#160;基于urllib.request封装http协议类

    基于urllib.request封装http协议类 by:授客QQ:1033553122 测试环境: Python版本:Python 3.3   代码实践 #!/usr/bin/env python ...

  3. 协议系列之HTTP协议

    什么是HTTP\HTTPS HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.HTTP协议用于从WWWserver传输超文本到本地浏览器的传输协议,它能使浏览 ...

  4. 网络协议 终章 - GTP 协议:复杂的移动网络

        前面都是讲电脑上网的情景,今天我们就来认识下使用最多的移动网络上网场景. 移动网络的发展历程     你一定知道手机上网有 2G.3G.4G 的说法,究竟这都是什么意思呢?有一个通俗的说法就是 ...

  5. rtp协议详解/rtcp协议详解

    转自:http://www.cnblogs.com/li0803/archive/2010/11/20/1882792.html 1.简介 目前,在IP网络中实现实时语音.视频通信和应用已经成为网络应 ...

  6. 【网络协议】ARP地址解析协议

    地址解析协议ARP 在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址.而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址.这就导致在以太 ...

  7. trust an HTTPS connection 安全协议 随机数 运输层安全协议 应用层安全协议 安全证书

    小结: 1.HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间) HTTPS(全称:Hyper Text Transfer Protocol over Secure ...

  8. 老李推荐:第4章3节《MonkeyRunner源码剖析》ADB协议及服务: ADB协议概览

    老李推荐:第4章3节<MonkeyRunner源码剖析>ADB协议及服务: ADB协议概览   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试, ...

  9. 老李推荐:第4章1节《MonkeyRunner源码剖析》ADB协议及服务: ADB协议概览 1

    老李推荐:第4章1节<MonkeyRunner源码剖析>ADB协议及服务: ADB协议概览   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试, ...

随机推荐

  1. java技术栈:项目概述

    学习使用java到现在也有三年多了,这三年基本是以项目驱动的方式学习,有好有坏,个人觉得好处在于,有一个清晰的目标让你解决,这会让你学习非常迅速有效.当然坏处就是片面,不成体系.这种学习方式在学校以小 ...

  2. Hyper-V连接虚拟机异常,“无法进行连接,因为可能无法将凭据发送到远程计算机”

    前两天把公司的TFS从2010升级到TFS2012(昨天又升级到TFS2013).今天使用服务器Hyper-V连接虚拟机时居然报错了. 翻看各种日志,虽然错误大一对一对地,但找不到任何有用的信息.无奈 ...

  3. Linux中open函数以及退出进程的函数

    open函数的flag详解1 读写权限:O_RDONLY O_WRONLY O_RDWR (1)linux中文件有读写权限,我们在open打开文件时也可以附带一定的权限说明 (譬如O_RDONLY就表 ...

  4. html5 画个圈

    <html><body><canvas id="myCanvas" width="200" height="100&qu ...

  5. 经度和纬度在SQL中的数据类型

    冬天太冷,等坐公司班车也很冷,就萌生了给班车做一个到站查询功能. 在某宝上买了汽车在线的GPS设备, 终生免费的服务的. 这里不得不提下这个设备的优点, 它提供API接口,还是免费的. 所以在班车上装 ...

  6. yum工作原理

    yum工作原理 yum是一个RPM包的前端管理工具,在rpm包的依赖关系已经被建成数据库的前提下它能够实现自动查找相互依赖的人rpm包,并从repository中下载互相依赖的rpm包到本地. YUM ...

  7. 莫烦theano学习自修第三天【共享变量】

    1. 代码实现 #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ import numpy as np import theano.tensor as T i ...

  8. sparse.coo_matrix()

    coo_matrix.tocsr(copy = False ) 将此矩阵转换为压缩稀疏行格式,重复的条目将汇总在一起. 举例: from numpy import array from scipy.s ...

  9. Spring 配置文件

    <?xml version="1.0" encoding="UTF-8" ?> <beans> <bean id=...> ...

  10. tomcat:利用tomcat部署war包格式的项目

    配置jdk环境变量, 配置TOMCAT_HOME 变量, 将war包放入webapps中. 运行tomcar-bin文件夹中的startup.bat. tomcat会自动解压war包. 进入项目: