夺命雷公狗---微信开发21----通过程序进行下载多媒体文件

我们老方法,先获取token再进行下一步的操作,get_token.php的代码如下:

<?php
    //原理,就是使用curl 函数,发出http请求,获取access_token
    $appid = 'wxed89d8f74fa6fc51';
    $appsecret = 'd4624c36b6795d1d99dcf0547af5443d';
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";

    //这里我们将使用PHP的curl函数
    //初识化
    $ch = curl_init();
    //设置变量
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    //执行
    $output = curl_exec($ch);
    curl_close($ch);
    //对返回的结果进行json解码
    $jsoninfo = json_decode($output, true);
    $access_token = $jsoninfo['access_token'];

然后我们就开始写下载的主程序了download_media.php,代码如下

<?php
    header("Content-Type:text/html;charset=utf-8");
    require_once "get_token.php";
    //这里的media_id可以做得更灵活,可以直接从数据库中获取
    $media_id = "D3IdqO_i3IvUoWsin_8i8mpApHK2b95S-Cl64c6GBhmg8lACDf2gwFTWonIjId4D";
    $url = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$access_token}&media_id={$media_id}";
    $media_content = file_get_contents($url);
    
    //创建一个新的用户名
    $file_name = time().'.amr';
    //然后,我们把该文件保存到我们自己的微信服务器的文件系统
    //如果想实现得更加的灵活,可以加入数据库,然后从数据库里面进行查找就OK啦
    file_put_contents('./download/'.$file_name,$media_content);
    echo "文件下载成功,文件名为:{$file_name}";
    
原文地址:https://www.cnblogs.com/leigood/p/5182642.html