V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wd0g
V2EX  ›  程序员

PHP 微信 SDK 如何接收用户在微信客户端上传的图片?

  •  
  •   wd0g · 2015-12-17 01:19:35 +08:00 · 2751 次点击
    这是一个创建于 3272 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚接触做微信公众号,请我有这方面的教程吗?
    或者如何接收用户在微信客户端上传的图片?
    感谢大家哈
    3 条回复    2015-12-17 14:50:04 +08:00
    juneszh
        1
    juneszh  
       2015-12-17 01:59:40 +08:00
    API 已经说得很清楚了吧
    1.本地选图接口获得 localid
    2.上传图片接口传到企鹅服务器获得 severid
    3.下载媒体接口通过 severid 下载到自己服务器
    alex321
        2
    alex321  
       2015-12-17 09:06:55 +08:00
    我相信 lz 是想做伸手党的,分享一个我前年写的微信 v1.0 的代码。。。

    /**
    * Wechat::fileGet()
    * 拉取媒体文件
    * @param string $accessToken
    * @param string $mediaId
    * @return
    */
    public function fileGet($accessToken, $mediaId){
    $url = 'http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=' . $accessToken . '&media_id=' . $mediaId;

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_NOBODY, 0); //对 body 进行输出。
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
    curl_setopt($ch, CURLOPT_SSLVERSION, 1); // https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1414562353&version=12&lang=zh_CN , 1 ==> CURL_SSLVERSION_TLSv1
    $package = curl_exec($ch);
    $httpinfo = curl_getinfo($ch);
    curl_close($ch);

    $media = array_merge(array('mediaBody' => $package), $httpinfo);
    //log_message('debug', var_export($media, true));

    //求出文件格式
    preg_match('/\w\/(\w+)/i', $media["content_type"], $extmatches);
    $fileExt = $extmatches[1];
    $filename = time().rand(100,999).".{$fileExt}";
    $date = date('Ym');
    $dirname = 'uploads/' . $date . '/';
    $localdir = 'D:\\ykwxggzh\\wechat\\uploads\\' . $date . '\\';
    if(!file_exists($localdir)){
    mkdir($localdir,0777,true) ? null : mkdir($localdir);
    }
    file_put_contents($localdir.$filename,$media['mediaBody']);
    return $dirname.$filename;
    }
    gundanx10
        3
    gundanx10  
       2015-12-17 14:50:04 +08:00
    https://github.com/overtrue/wechat 用下这个库 微信带你飞
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2710 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 11:25 · PVG 19:25 · LAX 03:25 · JFK 06:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.