温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在php项目中实现一个短信发送功能

发布时间:2020-12-17 14:24:15 来源:亿速云 阅读:170 作者:Leah 栏目:开发技术

本篇文章为大家展示了怎么在php项目中实现一个短信发送功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

标签: <无>

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;   }   }

上述内容就是怎么在php项目中实现一个短信发送功能,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI