45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 编程代码 > 阅读资讯:php发送短信的示范代码

php发送短信的示范代码

2015-07-24 05:32:32 来源:www.45fan.com 【

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

以上所述就是本文的全部内容了,希望大家能够喜欢。


本文地址:http://www.45fan.com/bcdm/15494.html
Tags: 实现 PHP 短信发送
编辑:路饭网
推广内容
推荐阅读
热门推荐
推荐文章
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部