1. php如何調用api介面,主要是php調用聯通,移動api進行簡訊的發送
你沒法調移動。聯通api的,如果要進行簡訊發送,可以去找簡訊介面,一般去運營商購買,然後他們提供api。然後用php對接即可,很簡單,比如下面使用的就是某家的api發送:
$this->content = 「發送內容」;
$this->name = "簡訊賬號";
$this->pwd= "簡訊密碼";
$this->mobile = "發送的手機號";
$argv = array(
'name'=>$this->name, //必填參數。用戶賬號
'pwd'=>$this->pwd, //必填參數。(web平台:基本資料中的介面密碼)
'content'=>$this->content, //必填參數。發送內容(1-500 個漢字)UTF-8編碼
'mobile'=>$this->mobile, //必填參數。手機號碼。多個以英文逗號隔開
'stime'=>'', //可選參數。發送時間,填寫時已填寫的時間發送,不填時為當前時間發送
'sign'=>$this->sign, //必填參數。用戶簽名。
'type'=>$this->type, //必填參數。固定值 pt
'extno'=>$this->extno //可選參數,擴展碼,用戶定義擴展碼,只能為數字
);
//構造要post的字元串
foreach ($argv as $key=>$value) {
if ($flag!=0) {
$params .= "&";
$flag = 1;
}
$params.= $key."=";
$params.= urlencode($value);
$flag = 1;
}
$url = "http://xxxxxxx.com?".$params; //提交的url
$resultUrl = file_get_contents($url);//獲取發送狀態
2. 用PHP寫一個介面,隨機生成6位數字,然後以簡訊的形式發送到對應的手機號上。從來沒寫過介面不知道如何寫
簡訊介面需要你有對應的簡訊服務商才行,通常是第三方簡訊服務商,這種服務往往是收費的,收取的費用越多,每天可以發送的簡訊數量越多。
你需要向他們申請簡訊介面,申請成功後會有介面文檔,按照文檔中的規定發送相應的數據即可,通常發送的數據包含:需要發送簡訊的手機號、簡訊內容。
介面寫法通常會在文檔中有寫,甚至有的文檔會附帶範例以供開發者參考。
3. 用PHP,API做一個可以收發簡訊,打接電話的平台
php本身是沒有打電話和收發簡訊的功能!
只不過,一些這樣的運營商, 可以提供一些api介面, 而php,可以調用這些介面而已!
但,要成功調用他們的介面, 那是需要花錢的!
比如,你花100元購買他們的一個套餐, 套餐內含1000條簡訊!
那你的php成功調用一次他們的api介面, 就成功發送一條簡訊!
那剩餘簡訊減少一條!
等到你的套餐簡訊為0的時候, 那你又調用不成功了!
繼續購買簡訊!
反正就是要錢的!
4. php如何調用api介面,主要是php調用聯通,移動api進行簡訊的發送
他會提供相應介面給你的,具體調用方法就相當於講求某個鏈接。
如:
http://localhost/operate.php?act=get_user_list&type=json
在這里operate.php相當於一個介面,其中get_user_list 是一個API(獲取用戶列表),講求返回的數據類型為JSON格式。
你只需要在你PHP代碼中執行這條鏈接他就會返回。
GET方式的直接使用
$file_contents = file_get_content('http://localhost/operate.php?act=get_user_list&type=json')
POST方式得用下面的(需要開啟PHP curl支持)。
$url = 'http://localhost/operate.php?act=get_user_list&type=json';
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
curl_setopt ( $ch, CURLOPT_POST, 1 ); //啟用POST提交
$file_contents = curl_exec ( $ch );
curl_close ( $ch );
5. php 怎麼寫簡訊介面
如果你們公司已經開發了發送簡訊功能,你只需要做一個介面是很簡單的,使用場景為:客戶提交信息到介面地址,介面驗證消息後發送信息,處理完後返回客戶一個信息.例如發送的數據如:{mobile:'13222333222',content:'hello','key':'123456'},這時你介面文件收到這些數據,驗證後確定這些不是非法提交的,然後調用公司發送簡訊,發送成功 返回一個信息 如 {code:0000,result:'發送成功'} .就跟你開發網站時前台表單post數據過來處理一樣處理就可以了,唯一不同的就是這些數據是來自你客戶的.
6. PHP+MYSQL 實現隊列 進行發送簡訊怎麼做
最近遇到一個批量發送簡訊的需求,簡訊介面是第三方提供的。剛開始想到,獲取到手機號之後,循環調用介面發送不就可以了嗎?
但很快發現問題:當簡訊數量很大時,不僅耗時,而且成功率很低。
於是想到,用PHP和MySQL實現一個消息隊列,一條一條的發送簡訊。下面介紹具體的實現方法:
首先,建立一個數據表sms,包含以下欄位:
id,
phone, //手機號
content //簡訊內容
將需要發送的簡訊和手機號存入sms表中。
接下來,需要用PHP實現一個定時器,定時讀取一條記錄,並發送簡訊:
<?php
$db = new Db();
$sms = new Sms();
while(true){
$item = $db->getFirstRecord(); //獲取數據表第一條記錄
if(!$item){
//如果隊列中沒有數據,則結束定時器
break;
}
$res = $sms->send($item['phone'],$item['content']); //發送簡訊
if($res){
$db->deleteFristRecord(); //刪除發送成功的記錄
echo $item['phone'].'發送成功';
}else{
echo $item['phone'].'發送失敗,稍後繼續嘗試';
}
sleep(10); //每隔十秒循環一次
}
echo '發送完畢!';
?>
將代碼保存為timer_sms.php,打開命令行,執行定時器:
php timer_sms.php
好了,php定時器將會根據設定的時間間隔(這里設的是10秒),自動完成發送簡訊的任務。任務完成後將自動退出定時器,不再佔用伺服器資源。
根據我的測試,PHP定時器佔用資源並不多,不會對伺服器造成壓力。而且是非同步訪問資料庫,也不會影響資料庫的運行。
這種方式的優點是:
1、後台運行,前台無需等待
2、成功率高,失敗的記錄會自動重發,直到成功