Welcome 微信登录

首页 / 网页编程 / PHP / php实现短信发送代码

卓望的短信发送。PHP格式。都要不习惯用xml传输数据格式了
标签: <无>
1. [代码][PHP]代码    
<?php class Sms{private $userId = "XXXXX"; private $password = "XXXXXX"; private $templateId = "XXXXXX"; /** * @var string 短信服务器地址 */private $server_uri = "XXXXXX"; private $port = "XXXXXX";/** * 发送短信 * @param $message 信息内容 * @param $mobile 手机号码 * @param string $signature 签名 * @return bool 成功返回true, 网络请求失败返回false, 其他返回失败编码 */public function sendOneMsg($message, $mobile, $signature="demo"){ $xml_content = $this->createXmlContent($message, $mobile, $signature); $xml = $this->sendHttpRequest(trim($xml_content));if(! $xml) {return false; // 网络请求失败} // 解析返回的编码$res = simplexml_load_string($xml);if($res->retCode == 1000) {return true;} return $res->retCode; } /** * 创建 xml内容 * @param $message 信息 * @param $mobile 要发送的手机号码 * @param $signature 签名 * @return string */private function createXmlContent($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($data as $key => $val) {// 创建元素$key = $dom->createElement($key);$request->appendChild($key); // 创建元素值$text = $dom->createTextNode($val);$key->appendChild($text);} return $dom->saveXML();} /** * 发送http请求 * @param $xml_content * @return mixed */private function sendHttpRequest($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;} }
以上所述就是本文的全部内容了,希望大家能够喜欢。