• 技术文章 >后端开发 >php教程

    求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路_php实例

    2016-06-07 17:11:35原创429

    下面代码使用curl模拟post请求链接后直接显示出了文件内容,如何修改成不显示内容而直接下载请求到的.torrent格式文件呢

    function curl_post($header,$data,$url)
    {
     $ch = curl_init();
     $res= curl_setopt ($ch, CURLOPT_URL,$url);
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
     curl_setopt ($ch, CURLOPT_HEADER, 0);
     curl_setopt($ch, CURLOPT_POST, 1);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
     $result = curl_exec ($ch);
     curl_close($ch);
     if ($result == NULL) {
     return 0;
     }
     return $result;
    } 
     $url = 'http://www.bttiantang.com/download4.php' ; 
     $header = array("Host:www.bttiantang.com",
     "Content-Type:application/x-www-form-urlencoded",
     'User-Agent: Mozilla/4.0 (compatible; MSIE .0; Windows NT 6.1; Trident/4.0; SLCC2;)'); 
    $data = 'action=download&id=26881&uhash=eecf3d3071a7b672c314bc39';
    $ret = curl_post($header, $data,$url);
    //需将内容显示修改为文件下载
    echo $ret;

    ------解决思路----------------------

    不要echo $ret;

    把$ret写入文件中去。保存起来

    ------解决思路----------------------

    $ret = curl_post($header, $data,$url);
    //需将内容显示修改为文件下载
    $filename = 'x.torrent';
    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=$filename"); 
    echo $ret;

    下载的 x.torrent 用迅雷打开为

    本文给大家分享了求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路,希望大家喜欢,请持续关注本站,本站每天都有新的内容更新,谢谢。!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:ubuntu下配置nginx+php+mysql详解_php实例 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 分享PHP函数使用小工具(附代码示例)• PHP安全编码总结(经验分享)• 非常全面!PHP常见漏洞代码总结!• 一文详解PHP实现职责链设计模式(附代码示例)• php实现通过JSON RPC与go通讯(附代码)
    1/1

    PHP中文网