您当前的位置: 首页 > 网站编程 > PHP教程 > PHP实例代码:实现远程下载文件到本地的函数

PHP实例代码:实现远程下载文件到本地的函数

作者:不详 来源:网络 发布时间: 2013-10-08 15:45 点击:
经常写采集器发布接口需要使用到远程附件的功能,所以自己写了一个PHP远程下载文件到本地的函数,一般情况下已经够用了,如果服务器支持CURL函数,程序则会优先选择CURL,因为测试结果表明CURL的响应时间及资源占用率比file_get_contents小得多;如果大家有好的建议及改

PHP实例代码:实现远程下载文件到本地的函数

 经常写采集器发布接口需要使用到远程附件的功能,所以自己写了一个PHP远程下载文件到本地的函数,一般情况下已经够用了,如果服务器支持CURL函数,程序则会优先选择CURL,因为测试结果表明CURL的响应时间及资源占用率比file_get_contents小得多;如果大家有好的建议及改进方案,欢迎留言给我哦!

代码:

Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com]
<?php 
echo httpcopy("http://www.baidu.com/img/baidu_sylogo1.gif"); 

function httpcopy($url, $file="", $timeout=60) { 
$file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file; 
$dir = pathinfo($file,PATHINFO_DIRNAME); 
!is_dir($dir) && @mkdir($dir,0755,true); 
$url = str_replace(" ","%20",$url); 

if(function_exists('curl_init')) { 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$temp = curl_exec($ch); 
if(@file_put_contents($file, $temp) && !curl_error($ch)) { 
return $file; 
} else { 
return false; 

} else { 
$opts = array( 
"http"=>array( 
"method"=>"GET", 
"header"=>"", 
"timeout"=>$timeout) 
); 
$context = stream_context_create($opts); 
if(@copy($url, $file, $context)) { 
//$http_response_header 
return $file; 
} else { 
return false; 



?> 
分享到:
本文"PHP实例代码:实现远程下载文件到本地的函数"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(2)
100%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4