PHP从远程mysql下载文件_PHP代码实现远程下载文件到本地的函数

de01c827ba277ac5b9eaedbf6230e7fa.png

类型:服务器区大小:21M语言:中文 评分:7.5

标签:

立即下载

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

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;

}

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值