php使用curl让浏览器来下载远程文件

前言

前两天做项目的时候,碰到这个问题,一开始在网上找了很多PHP如何让浏览器下载远程文件,后来群里的人告诉我说用CURL,我随后又找了很多相关的资料,结果只找到一个问答帖子
帖子地址(优快云)
然而初始代码说有问题的,后来我又去吾爱破解论坛去询问,这才得到最终代码,现在我要记录一下

<?php
function download($url)
{
    header('Content-Description: File Transfer');
    header('Content-Type: application/vnd.android.package-archive');
    header('Content-Disposition: attachment; filename='.$GLOBALS['file_name']);
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER , 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
    curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($ch,$buffer) {
        echo $buffer;
        return strlen($buffer);
    });
    curl_exec($ch);
    curl_close($ch);
}
$url='http://pan0.hsywd.com/ber/1/apk/app.apk';//远程文件地址
$file_name='1.apk';//下载文件名称,上面代码通过全局变量来获取
download($url);//引用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joshua Burgin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值