<?php
namespace Ruifi\App;
class SmsL
{
public function smsIcode($moblie,$sms_code,$intl_code){
header("Content-Type:text/html;charset=utf-8");
$apikey = "";
$mobiles = "+".$intl_code.$moblie;
$text = "Shixi";
$smsArrL = array(
"apikey" => "$apikey",
"mobile" => "$mobiles",
"text" =>"$text"
);
$smsArrL_to = \Ruifi\Service\CommonService::gbk_to_utf8_arr($smsArrL); //编码转换
$apikey = $smsArrL_to[\'apikey\'];
$mobilesm = $smsArrL_to[\'mobile\'];
/* $mobiles = urlencode("$mobile");
$mobiles = urlencode("$mobiles");*/
//$text = $smsArrL_to[\'text\'];
$ch = curl_init();
/* 设置验证方式 */
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);
// 发送短信
/* $data=array(\'text\'=>$text,\'apikey\'=>$apikey,\'mobile\'=>$mobile);
$json_data = $this->send($ch,$data);
$array = json_decode($json_data,true);
return $array;*/
// 发送模板短信
// 需要对value进行编码
$data = array(\'tpl_id\' => \'2009674\', \'tpl_value\' => (\'#code#\').
\'=\'.urlencode("$sms_code"), \'apikey\' => $apikey, \'mobile\' => $mobilesm);
$json_data = $this->tpl_send($ch,$data);
$array = json_decode($json_data,true);
return $array;
curl_close($ch);
}
/************************************************************************************/
function send($ch,$data){
curl_setopt ($ch, CURLOPT_URL, \'https://sms.yunpian.com/v2/sms/single_send.json\');
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$result = curl_exec($ch);
$error = curl_error($ch);
$this->checkErr($result,$error);
return $result;
}
function tpl_send($ch,$data){
curl_setopt ($ch, CURLOPT_URL,
\'https://sms.yunpian.com/v2/sms/tpl_single_send.json\');
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$result = curl_exec($ch);
$error = curl_error($ch);
$this->checkErr($result,$error);
return $result;
}
function checkErr($result,$error) {
if($result === false)
{
echo \'Curl error: \' . $error;
}
else
{
//echo \'操作完成没有任何错误\';
}
}
}
调用:
//传递手机号 验证码 和 国家区号
$SmssL = new \Ruifi\App\SmsL(); $Code = $SmssL->smsIcode("$mobile","$sms_code","$intl_code"); if ($Code[\'code\'] == \'0\'){ $codeState = \'OK\'; }