再次之前我也参考了大部分网上的博客等,大多数都是把云片网的demo原封不动搬上去,对于我这个前端人员来说,根本毫无头绪,故此我将细致的讲解如何操作,以及献上我的源码。
/
设置验证方式 /
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Accept:text/plain;charset=utf-8','Content-Type:application/x-www-form-urlencoded','charset=utf-8'));
/
设置返回结果为流 /
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
/ 设置超时时间/
curl_setopt($ch,CURLOPT_TIMEOUT,10);
/ 设置通信方式 /
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
// 取得用户信息
$json_data = get_user($ch,$apikey);
$array = json_decode($json_data,true);
// echo '
';print_r($array);
// 发送短信
$data=array('text'=>$text,'apikey'=>$apikey,'mobile'=>$mobile);
$json_data = send($ch,$data);
$array = json_decode($json_data,true);
// echo '
';print_r($array);
// 发送模板短信
// 需要对value进行编码
$data = array('tpl_id' => '1','tpl_value' => ('#code#').
'='.urlencode($num).
'&'.urlencode('#company#').
'='.urlencode('蒙羊羊'),'apikey' => $apikey,'mobile' => $mobile);
// print_r ($data);
$json_data = tpl_send($ch,true);
echo $num;
// 发送语音验证码
// $data=array('code'=>$num,'mobile'=>$mobile);
// $json_data =voice_send($ch,$data);
// $array = json_decode($json_data,true);
// echo $num;
// 发送语音通知,务必要报备好模板
/
模板: 课程#name#在#time#开始。 最终发送结果: 课程深度学习在14:00开始
/
$tpl_id = 'xxxxxxx'; //修改为你自己后台报备的模板id
$tpl_value = urlencode('#time#').'='.urlencode($num).'&'.urlencode('#name#').'='.urlencode('蒙羊羊');
$data=array('tpl_id'=>$tpl_id,'tpl_value'=>$tpl_value,'mobile'=>$mobile);
$json_data = notify_send($ch,true);
// echo $num;
curl_close($ch);
/****/
//获得账户
function get_user($ch,$apikey){
curl_setopt ($ch,CURLOPT_URL,'https://sms.yunpian.com/v2/user/get.json');
curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query(array('apikey' => $apikey)));
$result = curl_exec($ch);
$error = curl_error($ch);
checkErr($result,$error);
return $result;
}
function send($ch,$data){
curl_setopt ($ch,'https://sms.yunpian.com/v2/sms/single_send.json');
curl_setopt($ch,http_build_query($data));
$result = curl_exec($ch);
$error = curl_error($ch);
checkErr($result,$error);
return $result;
}
function tpl_send($ch,'https://sms.yunpian.com/v2/sms/tpl_single_send.json');
curl_setopt($ch,$error);
return $result;
}
function voice_send($ch,'http://voice.yunpian.com/v2/voice/send.json');
curl_setopt($ch,$error);
return $result;
}
function notify_send($ch,'https://voice.yunpian.com/v2/voice/tpl_notify.json');
curl_setopt($ch,$error);
return $result;
}
function checkErr($result,$error) {
if($result === false)
{
echo 'Curl error: ' . $error;
}
else
{
//echo '操作完成没有任何错误';
}
}
?>
这个PHP后台是我在官方提供的demo上进行修改的,删除了语音验证这个功能,只保留了短信验证,并将返回给前端的数据只保留了四位数字的验证码,方便前端进行验证码的验证。