91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在php項目中實現一個短信發送功能

發布時間:2020-12-17 14:24:15 來源:億速云 閱讀:137 作者: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

牡丹江市| 佛教| 滕州市| 昌乐县| 米林县| 西吉县| 杨浦区| 家居| 仲巴县| 叙永县| 揭阳市| 休宁县| 绩溪县| 洛扎县| 瑞金市| 合作市| 京山县| 澄城县| 上虞市| 鹤壁市| 历史| 阿尔山市| 西昌市| 囊谦县| 朔州市| 双鸭山市| 兴宁市| 郁南县| 洛川县| 吐鲁番市| 康平县| 西贡区| 阆中市| 麻城市| 普陀区| 柳河县| 龙泉市| 酒泉市| 蕲春县| 广宗县| 沅江市|