文档章节

PHP中获取远程文件的三种方法

slagga
 slagga
发布于 2016/10/27 17:16
字数 248
阅读 18
收藏 0
PHP

1.file_get_contents

<?php

$url = 'http://www.xxx.com/';
$contents = file_get_contents($url);
//如果出现中文乱码使用下面代码
//$getcontent = iconv(“gb2312″, “utf-8″,file_get_contents($url));
//echo $getcontent;
echo $contents;
?>

2.curl

<?php

$url = “http://www.xxx.com/”;
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);//在需要用户检测的网页里需要增加下面两行
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
//curl_setopt($ch, CURLOPT_USERPWD, US_NAME.”:”.US_PWD);
$contents = curl_exec($ch);
curl_close($ch);
echo $contents;

?>

3.fopen->fread->fclose

<?php

$handle = fopen (“http://www.xxx.com/”, “rb”);
$contents = “”;
do {
$data = fread($handle, 8192);
if (strlen($data) == 0)
{break;}
$contents .= $data;
} while(true);
fclose ($handle);
echo $contents;

?>

 

file_get_contents、fopen、curl区别分析:

1.使用file_get_contents和fopen必须空间开启allow_url_fopen。

方法:编辑php.ini,设置 allow_url_fopen = On,allow_url_fopen关闭时fopen和file_get_contents都不能打开远程文件。

2.使用curl必须空间开启curl。

方法:WIN下修改php.ini,将extension=php_curl.dll前面的分号去掉,而且需要拷贝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;

Linux下要安装curl扩展。

建议打开URL时使用file_get_contents()方法,可优化打开速度

© 著作权归作者所有

slagga

slagga

粉丝 18
博文 140
码字总数 122651
作品 0
深圳
程序员
私信 提问
ajax跨域方法

三种方案:代理、JSONP、XHR2(XMLHttpRequest Level 2)。 第一种方法:代理 这种方式是通过后台(ASP、PHP、JAVA、ASP.NET)获取其他域名下的内容,然后再把获得内容返回到前端,这样因为在同...

Weltch
2016/12/26
10
0
HTTP之一:http协议简介(1)

http刚诞生是0.9的版本,只支持传输简单的文本文件。 一个html文件就是可以实现,将分散在多个或一个web服务器 上的资源整合成一个html页面,并用浏览器来显示的,这种语言就叫html语言。 服...

Flywithmeto
2018/07/02
0
0
《CURL技术知识教程》系列分享专栏

《CURL技术知识教程》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201737.html 文章 PHP采集相关教程之一 CURL函数库 php中通过curl模拟登陆discuz论坛的实现...

开元中国2015
2018/11/06
0
0
iOS远程通知与本地通知的相关处理方案

最近的项目,需要对远程通知进行处理,首先我就不说那些配置证书的流程,以及一些的前期准备工作吧 首先我说下处理通知的三种情况。 一:app处于前台的时候收到远程通知;二:app处理与后台的...

心中有颗心
2016/04/19
66
0
PHP中 获取文件扩展名的N种方法

PHP中获取文件扩展名的N种方法,有以下这几种方式: 第1种方法: function get_extension($file) { substr(strrchr($file, ‘.’), 1); } 第2种方法: function get_extension($file) { retu...

xdl丶辉
2016/08/01
254
1

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 因违反《中华人民共和国治安管理处罚法》第四十四条之规定

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :#今日歌曲推荐# 惊艳分享谷微的单曲《安守本份》(@网易云音乐) 《安守本份》- 谷微 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
12分钟前
13
0
Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
6
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
7
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部