找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 69|回复: 0
打印 上一主题 下一主题

php实现短信发送代码

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:44:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            卓望的短信发送。PHP格式。都要不习惯用xml传输数据格式了
标签:
1. [代码][PHP]代码   
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 与 js的通信(via ajax,json)
  • php学习笔记之面向对象编程
  • PHP与Java进行通信的实现方法
  • php与java通过socket通信的实现代码
  • php实现的IMEI限制的短信验证码发送类
  • PHP通过串口实现发送短信
  • PHP发送短信代码分享
  • php发送短信验证码完成注册功能
  • Thinkphp实现短信验证注册功能
  • thinkPHP中钩子的两种配置调用方法详解
  • PHP钩子与简单分发方式实例分析
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端