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;
}
}
以上所述就是本文的全部内容了,希望大家能够喜欢。