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

摘要:
˃˃file_get_Contents、fopen和curl:1.使用file_get_Contents和fopen必须有空间才能启用allow_url_fopen方法:修改php。ini,并更改extension=php_删除curl前面的分号。dll,并将ssley32.dll和libeay32.dll复制到C:\WINDOWSSystem32;curl扩展应该安装在Linux下。建议在打开URL_get时使用file _ contents()方法可以优化打开速度

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:WINDOWSsystem32下;

Linux下要安装curl扩展。

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

免责声明:文章转载自《PHP中获取远程文件的三种方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇安卓之文本视图TextView及跑马灯效果data_analysis 第一课下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

curl 错误排查方法

php curl常见错误:SSL错误、bool(false)症状:php curl调用https出错 排查方法:在命令行中使用curl调用试试。 原因:服务器所在机房无法验证SSL证书。 解决办法:跳过SSL证书检查。 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 症状:php curl调用curl_ex...

Windows和Linux下查看Apache、MySQL、PHP版本

# Windows查看Apache版本: 使用命令:httpd -v # Linux查看Apache版本: 使用命令:apachectl -v # Windows查看MySQL版本: 使用命令:mysql --version # Linux查看MySQL版本: 使用命令:mysql -V # Windows查看PHP版本: 使用命令:php -v...

php数据类型存储memcache探讨

一、标量类型:整型 浮动型 布尔 字符串 // 实例化一个memcache的类 $mem = new Memcache(); // 连接memcache的服务器 $mem->connect('localhost', 11211); // 设置数据 $mem->set('int',100,0,3600); $mem->set('float'...

php远程下载文件并保存到指定路径

<?php function getFile($url, $save_dir = '', $filename = '', $type = 0) { if (trim($url) == '') { return false; } if (trim($save_dir) == '') { $save...

php 关于时区 date gmdate date_default_timezone_set/get 终极答疑

关于GMT和UTC时间? GMT+0800 Greenwich: [gri:nitf], 格林威治/格林尼治.是英国伦敦泰晤士河附近的一个小镇 Mean: adj. 自私的; n. 平均.. he is mean about money. GMT就是格林威治平均/标准时间 什么叫本初子午线? 国外叫 : prime mer'idian.只是在中国内才叫本初...

PHP的深copy和浅copy

1、对象复制的由来   为什么对象会有“复制”这个概念,这与PHP5中对象的传值方式是密切相关的,让我们看看下面这段简单的代码 /** * 电视机类 */ class Television { /** * 屏幕高度 */...