PHP5.6 微信上传永久图片素材

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sukangshen/article/details/78950622

由于PHP版本的问题 在公众号开发过程中上传图片老是失败,下面给大家提供一个PHP5.6以上的上传图片的例子

       /**
       * 上传永久图片的接口------------------------------------------------------------------------
       */
	public function actionNewupload()
	{
		$TOKEN=$this->actionToken();
		$file = "D:/upload/bb4.png";
		$data = array(
            'media'=> new CURLFile($file)
        );
	    $url = 'https://api.weixin.qq.com/cgi-bin/material/add_material?access_token='.$TOKEN.'&type=image';
        $result = $this->curl_posts($url,$data);
        var_dump($result);
	}

	function curl_posts($url, $data, $header = array()){
            if(function_exists('curl_init')) {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                if(is_array($header) && !empty($header)){
                    $set_head = array();
                    foreach ($header as $k=>$v){
                        $set_head[] = "$k:$v";
                    }
                    curl_setopt($ch, CURLOPT_HTTPHEADER, $set_head);
                }
                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_TIMEOUT, 0);// 1s to timeout.
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                $response = curl_exec($ch);
                if(curl_errno($ch)){
                    //error
                    return curl_error($ch);
                }
                $reslut = curl_getinfo($ch);
                print_r($reslut);
                curl_close($ch);
                $info = array();
                if($response){
                    $info = json_decode($response, true);
                }
                return $info;
            } else {
                throw new Exception('Do not support CURL function.');
            }
    }

我使用的是Yii1.1框架 调用newupload方法  传入参数AccessToken 图片的路径 就可以进行上传了


希望对你有帮助


展开阅读全文

没有更多推荐了,返回首页