您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎么在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項目中實現一個短信發送功能,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。