php实现短信发送代码
卓望的短信发送。PHP格式。都要不习惯用xml传输数据格式了
标签:<无>
1.[代码][PHP]代码
<?php classSms { private$userId='XXXXX'; private$password='XXXXXX'; private$templateId='XXXXXX'; /** *@varstring短信服务器地址 */ private$server_uri='XXXXXX'; private$port='XXXXXX'; /** *发送短信 *@param$message信息内容 *@param$mobile手机号码 *@paramstring$signature签名 *@returnbool成功返回true,网络请求失败返回false,其他返回失败编码 */ publicfunctionsendOneMsg($message,$mobile,$signature='demo') { $xml_content=$this->createXmlContent($message,$mobile,$signature); $xml=$this->sendHttpRequest(trim($xml_content)); if(!$xml){ returnfalse;//网络请求失败 } //解析返回的编码 $res=simplexml_load_string($xml); if($res->retCode==1000){ returntrue; } return$res->retCode; } /** *创建xml内容 *@param$message信息 *@param$mobile要发送的手机号码 *@param$signature签名 *@returnstring */ privatefunctioncreateXmlContent($message,$mobile,$signature) { $data=array( 'userId'=>$this->userId,//账号 'password'=>$this->password,//小写的md5后的用户密码 'templateId'=>$this->templateId,//模板id 'phone'=>$mobile, 'port'=>$this->port, 'data'=>$message, 'signature'=>$signature, ); //设置xml版本和编码 $dom=new\DOMDocument('1.0','UTF-8'); //创建根节点 $request=$dom->createElement('request'); $dom->appendChild($request); foreach($dataas$key=>$val){ //创建元素 $key=$dom->createElement($key); $request->appendChild($key); //创建元素值 $text=$dom->createTextNode($val); $key->appendChild($text); } return$dom->saveXML(); } /** *发送http请求 *@param$xml_content *@returnmixed */ privatefunctionsendHttpRequest($xml_content) { $now=time(); $headers[]='Content-Type:text/xml'; $headers[]='Content-Length:'.strlen($xml_content); $headers[]='Cmd:mt'; $headers[]='TS:'.$now; $headers[]='Authorization:'.strtoupper(md5($xml_content.$now.$this->password)); $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$this->server_uri); curl_setopt($ch,CURLOPT_HTTPHEADER,$headers); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$xml_content); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); $res=curl_exec($ch); curl_close($ch); //header('Content-Type:text/html;charset=utf-8'); return$res; } }
以上所述就是本文的全部内容了,希望大家能够喜欢。