百度应用引擎(BAE)配置总结:实现的班级短信通知平台

昨天找@杨涛二货要了个BAE的邀请码,利用BAE的短信服务搭建了一个短信通知平台,台面上的东西就是软件三班短信通知系统,当然自个还得有任意号码的接口,嘿嘿。传送门:http://www.ruanjian3.tkhttp://kezhong.duapp.com/

软件三班短信通知系统

软件三班短信通知系统发送记录

简单说一下配置方法:

首先当然得下载SDK:点击前往下载

数据库创建后用accessKey和secretKey填入下列代码相应位置即可 (*部分)连接上数据库。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
true$accessKey = &#039;*******************************';
true$secretKey = &#039;*******************************';
true$host = &#039;bcms.api.duapp.com';
true$bcms = new Bcms ( $accessKey, $secretKey, $host ) ;
true$queueName = "******************************";
true/*从平台获取查询要连接的数据库名称*/
true$dbname = &#039;***********************';
true/*从环境变量里取出数据库连接需要的参数*/
true$host = getenv(&#039;HTTP_BAE_ENV_ADDR_SQL_IP');
true$port = getenv(&#039;HTTP_BAE_ENV_ADDR_SQL_PORT');
true$user = getenv(&#039;HTTP_BAE_ENV_AK');
true$pwd = getenv(&#039;HTTP_BAE_ENV_SK');
true/*接着调用mysql_connect()连接服务器*/
true$link = @mysql_connect("{$host}:{$port}",$user,$pwd,true);
trueif(!$link) {
die("Connect Server Failed");
true}
true/*连接成功后立即调用mysql_select_db()选中需要连接的数据库*/
trueif(!mysql_select_db($dbname,$link)) {
die("Select Database Failed: " . mysql_error($link));
true}

然后调用发送短信的API

1
$bcms->sms ( $queueName, $message, $sendTo[$i] ) ;

第三个参数是个数组元素,原因在于BAE的短信服务单次请求有数量限制,似乎是要小于10,于是要想实现群发,就必须进行分块处理。

首先要想传递checkbox的数据,就必须将checkbox的name加上[]

1
<input type="checkbox" name="sendTo[]" value="1822****985" />

$_POST就能接收到一个手机号码的数组,然后调用array_chunk() 函数对数组再分组,我分为了5个一组

1
2
3
4
if (isset($_POST[&#039;sendTo']))
$sendTo = $_POST[&#039;sendTo'];
// 再分组
$sendToArray = array_chunk($sendTo, 5);

最后用一个for循环遍历生成的2维数组发送短信。

1
2
3
for ($i = 0; $i < count($sendToArray); $i++) {
$bcms->sms ( $queueName, $message, $sendToArray[$i] ) ;
}

[caption id=”” align=”alignnone” width=”480”]BAE发送的短信 BAE发送的短信[/caption]