php使用curl远程下载微信的图片到自己的服务器

本文介绍了一种通过微信SDK上传图片并将其保存到服务器的方法。利用PHP实现了一个静态方法savePicToServer,该方法接收从微信SDK获取的serverId作为参数,并使用此ID结合access_token从微信服务器下载图片。下载后,图片被保存到服务器指定路径,并返回图片的完整URL。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
     * @param $serverId jssdk文件上传返回的serverId
     * @return string 
     */
    public static function savePicToServer($serverId) {
        $accessToken = self::getToken();
        // 要存在你服务器哪个位置?
        $savePathFile = '/'.date('YmdHis').'.jpg';
        $targetName = $savePathFile;
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
        $fp = fopen($targetName,'wb');
        curl_setopt($ch,CURLOPT_URL,"http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$accessToken}&media_id={$serverId}");
        curl_setopt($ch,CURLOPT_FILE,$fp);
        curl_setopt($ch,CURLOPT_HEADER,0);
        curl_exec($ch);
        curl_close($ch);
        fclose($fp);

        return PubCommon::serverDomain() . $savePathFile;
    }

当然,也可以下载任意地方的图片,只要修改
curl_setopt($ch,CURLOPT_URL,"http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$accessToken}&media_id={$serverId}");
第三个参数即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值