导航:首页 > 编程语言 > 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短信发送类相关的资料

热点内容
android智能家居蓝牙 浏览:644
pt螺纹编程 浏览:451
手机电音app哪个好 浏览:749
checksum命令 浏览:637
java创建xml文件 浏览:170
算命源码国际版 浏览:283
三菱模块化编程 浏览:718
控件读取文件源码 浏览:445
文件夹侧面目录标签怎么制作 浏览:232
做程序员学什么 浏览:320
pdfeditor教程 浏览:880
fortran把文件放入文件夹 浏览:709
程序员1年经验不敢投简历 浏览:481
如何看电脑的源码 浏览:897
找工作app软件哪个好 浏览:96
信息管理网站源码 浏览:439
小说app哪个好免费 浏览:224
域名在线加密 浏览:146
软件编程西安交大 浏览:453
是不是串货的奶粉查不到溯源码的 浏览:825