用户名: 用QQ登录本站
密 码: 注册
验证码:
首页 软件 编程 笑话 知识 公告 日历 计算器 行情 简化版
文明驾车我带头,文明行路我带头,礼貌让座我带头      

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元       [公益] 节省一分零钱 献出一份爱心 温暖世间真情      
广告位招租中
2021年 儿童节 23
2021年 端午节 36
2022年 元 旦 237
2022年 春 节 268
 
  • 您现在的位置:首页 >> PHP >> 内容

    php实现短信发送代码

    内容摘要: ?phpclass Sms{ private $userId = 'XXXXX'; private $password = 'XXXXXX'; private $templateId = 'XXXXXX'; /** * @var string 短信服务器地址 */ private $server_uri = 'XXXXXX'; private $port =......

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

    }


    }

      版权声明:本内容来源于互联网,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。


    发布日期:2021/4/9 发布时间:15:27:36 点击:225 录入:齐天大圣
  • 上一篇:PHP 递归通过父id获取子级(无限级)
  • 下一篇:php天翼开放平台短信发送接口实现方法
  • 本类新增
    本类热门文章
    Baidu

    YiJiaCMS V5.1 Build 21.05.08(MSSQL) 闽ICP备05000814号-1
    本空间由景安网络提供,百度云加速提供加速防护
    齐天大圣® 制 作 ©2000-2021
    您正在使用IPV4(3.230.154.160)访问本站 您本次共访问本站 1 次