最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

php使用短信宝发送短信的方法

来源:懂视网 责编:小采 时间:2020-11-27 19:59:21
文档

php使用短信宝发送短信的方法

php使用短信宝发送短信的方法:本文主要和大家分享php使用短信宝发送短信的方法,使用短信宝需要先在官网上注册一个用户名密码,希望能帮助到大家。注意:如果没有购买短信,则只用来测试短信速度,短信内容不可编辑,只可修改验证码数字。测试操作如图:进入正题:使用短信宝,需要一个
推荐度:
导读php使用短信宝发送短信的方法:本文主要和大家分享php使用短信宝发送短信的方法,使用短信宝需要先在官网上注册一个用户名密码,希望能帮助到大家。注意:如果没有购买短信,则只用来测试短信速度,短信内容不可编辑,只可修改验证码数字。测试操作如图:进入正题:使用短信宝,需要一个
本文主要和大家分享php使用短信宝发送短信的方法,使用短信宝需要先在官网上注册一个用户名密码,希望能帮助到大家。

注意:如果没有购买短信,则只用来测试短信速度,短信内容不可编辑,只可修改验证码数字。

测试操作如图:

进入正题:

使用短信宝,需要一个SmsBao.class.php文件,这个文件会放在Org目录下,文件内容在最下方


调用代码:

<?phpnamespace Home\Controller;use Think\Controller;use Org\Sms\SmsBao;class IndexController extends Controller { public function index(){
 $sms = new SmsBao("账号", "密码");
 $msg = $sms->sendSms("1537539****", "这是一个测试短信!"); if($msg['status'] == 0) { echo '发送成功!';
 } else { echo '发送失败!';
 } echo $sms->getBalance(); // 返回剩余条数 }
}

访问后会显示


登录短信宝,进入请求记录会看到


如果从短信宝测试入口测试,可以在手机上看到短信,然后在官网的发送记录会看到内容

回复的话,会在回复记录中看到回复的内容

附加:

SmsBao.class.php 内容

<?php// +----------------------------------------------------------------------// | smsbao for thinkPHP// +----------------------------------------------------------------------// | Copyright (c) 2005 http://smsbao.com All rights reserved.// +----------------------------------------------------------------------// | Licensed ( http://smsbao.com )// +----------------------------------------------------------------------namespace Org\Sms;/** * SmsBao实现类 * @category Think * @package Think * @subpackage Sms */class SmsBao { private $account;//短信包账户 private $password;//密码 private $balance;//短信剩余条数 const sendSmsUrl = "http://api.smsbao.com/sms"; const queryBalanceUrl = "http://api.smsbao.com/query"; /** * 架构函数 * @access public * @param string $account 在短信宝注册的账户名 * @param string $password 在短信宝注册的账户名的密码 */ public function __construct($account,$password) { if (empty($account) || empty($password)) { E("用户名和密码不可为空!");
 }
 $this->account = $account;
 $this->password = $password;
 } 
 /** * 发送短信函数 * @access public * @param string $mobile 手机号,多个手机号用英文逗号分隔 * @param string $content 发送内容 * @return array 返回值为数组,其中status为0表明发送成功,其他情况下发送失败,失败原因为msg */ public function sendSms($mobile,$content){
 $param['u'] = $this->account;
 $param['p'] = md5($this->password);
 $param['m'] = $mobile;
 $param['c'] = $content;
 $ret = self::http(self::sendSmsUrl, $param);
 $data['status'] = $ret;
 $data['msg'] = $ret == 0 ?'发送成功' : self::getResult($ret); return $data;
 } 
 /** * 获取短信剩余条数函数 * @access public */ public function getBalance(){
 $param['u'] = $this->account;
 $param['p'] = md5($this->password);
 $ret = self::http(self::queryBalanceUrl, $param);
 $retArr = split("\n", $ret);
 $balanceArr = split(",", $retArr[1]);
 $this->balance = $retArr[0] == 0 ? $balanceArr[1] : self::getResult($ret); return $this->balance;
 } /** * 发送http请求 * @access protected * @param string $url 请求地址 * @param string $param get方式请求内容,数组形式,post方式时无效 * * @param string $data post请求方式时的内容,get方式时无效 * @param string $method 请求方式,默认get */ protected static function http($url, $param, $data = '', $method = 'GET'){
 $opts = array(
 CURLOPT_TIMEOUT => 30,
 CURLOPT_RETURNTRANSFER => 1,
 CURLOPT_SSL_VERIFYPEER => false,
 CURLOPT_SSL_VERIFYHOST => false,
 ); 
 /* 根据请求类型设置特定参数 */ $opts[CURLOPT_URL] = $url . '?' . http_build_query($param); 
 if(strtoupper($method) == 'POST'){
 $opts[CURLOPT_POST] = 1;
 $opts[CURLOPT_POSTFIELDS] = $data; 
 if(is_string($data)){ //发送JSON数据 $opts[CURLOPT_HTTPHEADER] = array( 'Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($data),
 );
 }
 } 
 /* 初始化并执行curl请求 */ $ch = curl_init(); curl_setopt_array($ch, $opts); $data = curl_exec($ch);
 $error = curl_error($ch); curl_close($ch); 
 //发生错误,抛出异常 if($error) throw new \Exception('请求发生错误:' . $error); 
 return $data;
 } private function getResult($key){
 $rst['30'] = '密码错误';
 $rst['40'] = '账号不存在';
 $rst['41'] = '余额不足';
 $rst['42'] = '帐号过期';
 $rst['43'] = 'IP地址限制';
 $rst['50'] = '内容含有敏感词';
 $rst['51'] = '手机号码不正确'; return $rst[$key];
 }

}

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

php使用短信宝发送短信的方法

php使用短信宝发送短信的方法:本文主要和大家分享php使用短信宝发送短信的方法,使用短信宝需要先在官网上注册一个用户名密码,希望能帮助到大家。注意:如果没有购买短信,则只用来测试短信速度,短信内容不可编辑,只可修改验证码数字。测试操作如图:进入正题:使用短信宝,需要一个
推荐度:
标签: 使用 短信 php
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top