導航:首頁 > 編程語言 > php簡訊發送類

php簡訊發送類

發布時間:2022-12-07 01:33:57

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、成功率高,失敗的記錄會自動重發,直到成功

❷ php怎麼發送簡訊呢 以及我發送返回是成功為什麼還收不到

簡訊發送都是使用第三方的api進行操作的,按照第三方的api進行php代碼的編寫。有時候未收到是因為簡訊提供商那邊有延遲,或者簡訊內容太隨便被認作是垃圾簡訊了

❸ 求:php怎麼給手機發簡訊程序,最好能有簡單的注釋!

程序不可以隨便給人發簡訊的。

1.理論上需要你和移動或聯通談,拿到SP(服務提供商)營業執照,才可以使用手機簡訊的API。(比較困難)

2.如果你找到了一家SP,並談成合作,他會分給你介面的引用方法。一般是socket+xml或是http+xml的.用PHP的socket相關的函數可以很方便的去調用。

3.如果還有更簡單的方法,那就是通過一些免費/收費的簡訊發送服務商,他們提供發送簡訊的插件以及介面,有各種方式,大部分都有PHP可調用的HTTP方式和webservice方式的介面。如這個平台:
(http://www.cpunc.com/development.asp?subid=78)

4.還有人使用PHP調用飛信的API發送,但不是官方提供的,所以不是很穩定,請搜索 飛信API PHP 了解詳細的情況。

❹ 用PHP怎麼實現手機簡訊發送

可以的,如果是在linux下,可以結合crontab定時任務實現,如果是使用windows可以安裝win32service 這個擴展實現

❺ PHP如何定時發送簡訊

1、首先設置好伺服器;

2、設置執行時間為無限制;

3、設置發送簡訊間隔為5分鍾;

4、打開存儲簡訊的文件,進行簡訊操作,關閉文件;

5、循環上面的過程;

6、具體設置代碼如下:

ignore_user_abort();//即使Client斷開(如關掉瀏覽器),PHP腳本也可以繼續執行.
set_time_limit(0);//執行時間為無限制,php默認的執行時間是30秒,通過set_time_limit(0)可以讓程序無限制的執行下去
$interval=60*5;//每隔5分鍾運行
do{
$fp=fopen('test.txt','a');
fwrite($fp,'test');
fclose($fp);
sleep($interval);//等待5分鍾
}while(true);
?>

❻ thinkphp怎樣添加簡訊發送功能

首先得有簡訊供應商提供的介面和配置,然後直接用他們介面中的發送方法就可以了

❼ PHP發送簡訊如何實現

看你的需求,現在有很多簡訊商都有免費的簡訊可以發送,只是有條數限制,最多好像有50條
的,如果你的網站需求簡訊發送量大,那就要去購買簡訊,套餐很便宜,幾分錢一條到幾毛一
條都有,自己選擇。購買簡訊的時候簡訊商都會提供他們的介面文檔,你按著文檔的步驟來就
行了

❽ php怎麼發送手機簡訊

我已經申請成為移動SP。 移動給我以下資料: 企業代碼: 服務代碼: 簡訊網關IP地址: 登陸用戶名: 密碼: 下行埠: 上行埠: 協議:見附件 請問我怎麼用PHP寫往手機發簡訊的代碼?

❾ Php調用手機發簡訊功能

移動的介面是什麼風格的?是soap的還是自定義的?
調用自定義介面通常有以下步驟:
1、閱讀介面文檔

2、數據介面一般會提供一些參數。如果是GET介面,請將參數拼接在地址的後面(推薦使用
http_build_query)。如果是POST介面,看我的示例代碼。
3、請求數據
4、解析返回的內容,判斷調用是否成功。一般返回的內容有xml和json格式。

給你一個CURL調用POST介面的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

<?php
$ch = curl_init('省略介面地址, 防止屏蔽');
// 以下選項設為true,否則介面返回的內容會直接列印在頁面上
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 連接超時,一定要設置
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
// 連接成功後,請求超時,一定要設置
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
// 使用POST請求
curl_setopt($ch, CURLOPT_POST, 1);
// 將參數POST過去, $post_data是你的參數組成的關聯數組
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
// 提交請求,得到反饋
$response = curl_exec($ch);
// 解析反饋的內容,略

如果是SOAP風格的,請查閱PHP文檔SoapClient類的用法。因為Soap規范不統一,使用其他語言實現的Soap可能和PHP不兼容。

以前我使用過移動夢網的介面(不是移動的介面),它提供兩種風格的API。它的Soap就和PHP不兼容。所以我選擇了自定義風格的API。

追問:
是webservice介面,有範例嗎?

追答:
這個介面是soap的,人家已經幫你把邏輯封裝了。
注意這個地址http://211.140.20.45:9080/openmasservice?wsdl是否正確。我這里是訪問不到的。我覺得你使用他文檔中的實例肯定不會有問題。
追問:
這個我替換成 開放給我的介面 卻還是不行啊!!!

追答:
你要說說是怎麼個不行啊。。是沒響應(空白),還是返回內容有問題,還是報錯?
把出錯信息貼上
追問:
沒響應 返回空白,因為代碼多這里不夠貼。

追答:
我試了一下,刷出一堆錯誤來。它用的是一個叫nusoap的類。
你嘗試一下PHP內置的SoapClient吧,可以代替它的nusoap。

閱讀全文

與php簡訊發送類相關的資料

熱點內容
文件夾側面目錄標簽怎麼製作 瀏覽:230
做程序員學什麼 瀏覽:320
pdfeditor教程 瀏覽:880
fortran把文件放入文件夾 瀏覽:709
程序員1年經驗不敢投簡歷 瀏覽:481
如何看電腦的源碼 瀏覽:897
找工作app軟體哪個好 瀏覽:96
信息管理網站源碼 瀏覽:439
小說app哪個好免費 瀏覽:224
域名在線加密 瀏覽:146
軟體編程西安交大 瀏覽:453
是不是串貨的奶粉查不到溯源碼的 瀏覽:825
北京dns伺服器雲主機 瀏覽:221
openldaplinux安裝 瀏覽:23
java取月的最後一天 瀏覽:10
騰訊雲伺服器多久退款 瀏覽:949
微信廣告植入系統源碼 瀏覽:922
一年級語文上冊pdf 瀏覽:315
好久不見app干什麼用的 瀏覽:143
壓縮包解壓碼對方可以更改嗎 瀏覽:256