短信验证码 谁会

WBOY
Release: 2016-06-23 13:09:31
Original
823 people have browsed it

网站有API  现在只有一个前台页面  求教我PHP该怎么写? 以前从没接触过,谁会的话加我QQ804135715  解决一下 更想拜个师傅


回复讨论(解决方案)

没用过 你看看短信服务商提供的api接口
应该是有demo

www.yuntongxun.com的短信验证码,速度挺快,平均8秒左右。以下是类文件

<?php/** * 云通讯短信类 * @author yuanjiang **/if(!defined('IN_T')){   die('hacking attempt');}class Sms_yuntongxun{    	//开发者账号	private $AccountSid;	//开发者Token	private $AccountToken;	//应用id	private $AppId;	//短信模板id	private $TemplateId;	//请求地址,格式如下,不需要写https://	//private $ServerIp='sandboxapp.cloopen.com';   //开发环境url    private $ServerIP='app.cloopen.com';  //生产环境url    //请求端口     private $ServerPort='8883';    //REST版本号    private $SoftVersion='2013-12-26';	//当前时间    private $Batch;		/**	 * 构造	 */	function __construct($accountsid,$accounttoken,$appid,$tempid){	   $this->AccountSid = $accountsid; 	   $this->AccountToken = $accounttoken;	   $this->AppId = $appid;	   $this->TemplateId = $tempid;	   $this->Batch = date('YmdHis',time());	}	/**	 * 发送短信	 */ 	public function sendMsg($to,$datas)    {        // 拼接请求包体        $data="";        for($i=0;$i<count($datas);$i++){           $data = $data. "'".$datas[$i]."',";         }        $body= "{'to':'$to','templateId':'".$this->TemplateId."','appId':'$this->AppId','datas':[".$data."]}";              // 大写的sig参数         $sig =  strtoupper(md5($this->AccountSid . $this->AccountToken . $this->Batch));        // 生成请求URL                $url="https://$this->ServerIP:$this->ServerPort/$this->SoftVersion/Accounts/$this->AccountSid/SMS/TemplateSMS?sig=$sig";        // 生成授权:主帐户Id + 英文冒号 + 时间戳。        $authen = base64_encode($this->AccountSid . ":".$this->Batch);        // 生成包头          $header = array("Accept:application/json","Content-Type:application/json;charset=utf-8","Authorization:$authen");        // 发送请求        $result = $this->curl_post($url,$body,$header);        $datas=json_decode($result);         /*         if($datas == FALSE){           $datas = new stdClass();           $datas->statusCode = '172003';           $datas->statusMsg = '返回包体错误';         }		*/        //重新装填数据        if($datas->statusCode==0){           $datas->TemplateSMS =$datas->templateSMS;           unset($datas->templateSMS);           }        return $datas;     } 		/**     * 发起HTTPS请求     */    private function curl_post($url,$data,$header,$post=1)    {       //初始化curl       $ch = curl_init();       //参数设置         $res= curl_setopt ($ch, CURLOPT_URL,$url);         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);       curl_setopt ($ch, CURLOPT_HEADER, 0);       curl_setopt($ch, CURLOPT_POST, $post);       if($post)          curl_setopt($ch, CURLOPT_POSTFIELDS, $data);       curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);       curl_setopt($ch,CURLOPT_HTTPHEADER,$header);       $result = curl_exec ($ch);       curl_close($ch);       return $result;    } }/** * 应用实例//主帐号$accountSid= 'xxxxxx';//主帐号Token$accountToken= 'xxxxxx';//应用Id$appId='xxxxxx';//模板Id$templateId='xxxxxx';$Sms_yuntongxun = new Sms_yuntongxun($accountSid,$accountToken,$appId,$templateId);print_r($Sms_yuntongxun->sendMsg('13612345678',array(273262,'注册新用户',15)));*/?>
Copy after login

短信供应商应该有接口的,按照他们给的demo写就好了

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!