这里不说如何获取access_token!!! ;下次当独开一篇
curl文件
<?php
/**
* $url string 请求的地址
* $data array 请求参数,如果有这个参数,请求类型改为post
*/
function https_request($url,$data=null){
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, FALSE);
curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD,FALSE);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);//不做服务器端的认证
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);//不做客户端的认证
if(!empty($data)){
curl_setopt($curl,CURLOPT_POST,true);
//curl_setopt($curl,CURLOPT_BINARYTRANSFER,true);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
$output= curl_exec($curl);
curl_close($curl);
return $output;
}
上传视频文件
这里做的事情其实有两个:
- 初始化curl,打包视频文件
- 调用公众号视频文件上传接口,请求方式为post
<?php
// 引入上边的方法
include "func.video.php";
// get_access_token(); 是自定义的获取access_token的函数
$access_token=get_access_token();
//请求的接口地址和参数
$url="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$access_token&type=video";
$file="./autov.mp4"; //视频文件位置
$data['media']=new CURLFile($file); // '@'.$file;
$result=https_request($url,$data);
var_dump($result);