二十一章 PHP傳送簡訊
//介面型別:互億無線觸發簡訊介面,支援傳送驗證碼簡訊、訂單通知簡訊等。
// 賬戶註冊:請透過該地址開通賬戶
// 注意事項:
//(1)除錯期間,請用預設的模板進行測試,預設模板詳見介面文件;
//(2)請使用APIID(檢視APIID請登入使用者中心->驗證碼簡訊->產品總覽->APIID)及 APIkey來呼叫介面
//(3)該程式碼僅供接入互億無線簡訊介面參考使用,客戶可根據實際需要自行編寫;
//開啟SESSION
session_start();
header("Content-type:text/html; charset=UTF-8");
//請求資料到簡訊介面,檢查環境是否 開啟 curl init。
function Post($curlPost,$url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
$return_str = curl_exec($curl);
curl_close($curl);
return $return_str;
}
//將 xml資料轉換為陣列格式。
function xml_to_array($xml){
$reg = "/]>([x00-xFF])1>/";
if(preg_match_all($reg, $xml, $matches)){
$count = count($matches[0]);
for($i = 0; $i $subxml= $matches[2][$i];
$key = $matches[1][$i];
if(preg_match( $reg, $subxml )){
$arr[$key] = xml_to_array( $subxml );
}else{
$arr[$key] = $subxml;
}
}
}
return $arr;
}
//random() 函式返回隨機整數。
function random($length = 6 , $numeric = 0) {
PHP_VERSION if($numeric) {
$hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1));
} else {
$hash = '';
$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz';
$max = strlen($chars) - 1;
for($i = 0; $i $hash .= $chars[mt_rand(0, $max)];
}
}
return $hash;
}
//簡訊介面地址
$target = "";
//獲取手機號
$mobile = $_POST['mobile'];
//獲取驗證碼
$send_code = $_POST['send_code'];
//生成的隨機數
$mobile_code = random(4,1);
if(empty($mobile)){
exit('手機號碼不能為空');
}
//防使用者惡意請求
if(empty($_SESSION['send_code']) or $send_code!=$_SESSION['send_code']){
exit('請求超時,請重新整理頁面後重試');
}
$post_data = "account=使用者名稱&password=密碼&mobile=".$mobile."&content=".rawurlencode("您的驗證碼是:".$mobile_code."。請不要把驗證碼洩露給其他人。");
//使用者名稱是登入使用者中心->驗證碼簡訊->產品總覽->APIID
//檢視密碼請登入使用者中心->驗證碼簡訊->產品總覽->APIKEY
$gets = xml_to_array(Post($post_data, $target));
if($gets['SubmitResult']['code']==2){
$_SESSION['mobile'] = $mobile;
$_SESSION['mobile_code'] = $mobile_code;
}
echo $gets['SubmitResult']['msg'];
?>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2459/viewspace-2799336/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用 Python 傳送簡訊?Python
- SpringBoot 實現傳送簡訊Spring Boot
- Laravel SMS 簡訊傳送包Laravel
- 阿里雲簡訊傳送 sdk阿里
- 郵件和簡訊傳送
- java 阿里雲簡訊傳送Java阿里
- Laravel6 使用騰訊雲簡訊-傳送簡訊Laravel
- 阿里雲平臺傳送簡訊阿里
- 簡訊傳送機的實現
- 106傳送簡訊有哪些平臺?
- PHP傳送郵件PHP
- 2020最新 使用阿里雲的簡訊服務傳送簡訊阿里
- Laravel 極簡使用傳送簡訊 支援阿里雲、騰訊雲Laravel阿里
- .net core 使用阿里雲簡訊傳送SMS阿里
- php windows 傳送郵件PHPWindows
- 聊聊如何在Java應用中傳送簡訊Java
- [Python]實現簡訊驗證碼的傳送Python
- 【故障公告】騰訊雲簡訊服務故障造成無法傳送手機簡訊
- 如何透過簡訊轉發在iPad和Mac上傳送和接收簡訊iPadMac
- PHP回顧之傳送郵件PHP
- 普歌-騰訊雲簡訊+使用node傳送簡訊(3種方法API、SDK)、封裝工具、搭建web服務、寫介面、呼叫介面傳送簡訊、時效性判斷(上)API封裝Web
- Jave Web阿里雲簡訊服務傳送驗證碼Web阿里
- 在技術上如何實現傳送一條簡訊?
- 如何才能讓傳送簡訊更容易被客戶理解?
- 直播平臺原始碼,簡訊驗證碼傳送demo原始碼
- 簡單簡易實現伺服器遠端登陸傳送簡訊提示伺服器
- RocketMQ(八):訊息傳送MQ
- 【RocketMQ】MQ訊息傳送MQ
- php 傳送郵件(以QQ為例)PHP
- TNW-傳送模板訊息TNW
- flutter: 深入通訊-傳送端Flutter
- RocketMQ(九):訊息傳送(續)MQ
- 鴻蒙傳送訊息通知鴻蒙
- 6-RocketMQ傳送訊息MQ
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- 公眾號傳送模板資訊java實現(主動傳送)Java
- 只需傳送一條簡訊 黑客就能成功入侵你的iPhone黑客iPhone
- 文字簡訊介面對接傳送簡訊後如何獲取狀態報告以及回覆報告