/**
* sdk 短信接口
* @param $tel 手机号
* @param $content 短信内容
* @return bool
*/
public function telSDK($tel,$content)
{
$flag = 0;
$params = '';
//要post的数据
$argv = array(
'sn'=>'XXX', ////替换成您自己的序列号
'pwd'=>strtoupper(md5('XXX'.'XXX')), //此处密码需要加密 加密方式为 md5(sn+password) 32位大写
'mobile'=>$tel,//手机号 多个用英文的逗号隔开 post理论没有长度限制.推荐群发一次小于等于10000个手机号
'content'=>iconv( "UTF-8", "gb2312//IGNORE" ,$content),//短信内容
'ext'=>'',
'stime'=>'',//定时时间 格式为2011-6-29 11:09:21
'rrid'=>''
);
//构造要post的字符串
foreach ($argv as $key=>$value)
{
if ($flag!=0)
{
$params .= "&";
$flag = 1;
}
$params.= $key."="; $params.= urlencode($value);
$flag = 1;
}
$length = strlen($params);
//创建socket连接
$fp = fsockopen("sdk.entinfo.cn",8060,$errno,$errstr,10) or exit($errstr."--->".$errno);
//构造post请求的头
$header = "POST /webservice.asmx/mt HTTP/1.1\r\n";
$header .= "Host:sdk.entinfo.cn\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: ".$length."\r\n";
$header .= "Connection: Close\r\n\r\n";
//添加post的字符串
$header .= $params."\r\n";
//发送post的数据
fputs($fp,$header);
$inheader = 1;
while (!feof($fp))
{
$line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据
if ($inheader && ($line == "\n" || $line == "\r\n"))
{
$inheader = 0;
}
if ($inheader == 0)
{
// echo $line;
}
}
//<string xmlns="http://tempuri.org/">-5</string>
$line=str_replace("<string xmlns=\"http://tempuri.org/\">","",$line);
$line=str_replace("</string>","",$line);
$result=explode("-",$line);
// echo $line."-------------";
if(count($result)>1)
return false;
else
return true;
}

调用 :

         if($_GET['tel']){
$code = mt_rand(10000,99999);
if(session("code")){
session("code",null);
}
session("code",$code,3600);
$con = "您的短信验证码为:".$code.",打死都不要告诉别人哦!";
$this->telSDK($_GET['tel'],$con);
}

最新文章

  1. DevExpress Ribbon右上角button显示文本设置
  2. Web API应用架构设计分析(1)
  3. python 引用和对象理解
  4. usb驱动开发4之总线设备驱动模型
  5. require或include相对路径多层嵌套引发的问题
  6. 编程异常——假设你报createSQLQuery is not valid without active transaction,...
  7. mysql 批量插入数据过多的解决方法
  8. BNUOJ-26586 Simon the Spider 最小生成树+枚举
  9. HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011亚洲北京赛区网络赛)
  10. Android.9图片评论(一个)
  11. 为什么国外的 App 很少会有开屏广告?
  12. python︱模块加载(pip安装)以及pycharm安装与报错解决方式
  13. 洛谷U19464 山村游历(Wander)(LCT,Splay)
  14. eclipse中集成maven
  15. Debian社区群龙无首
  16. C++设计模式——原型模式
  17. C# 面试知识点网络文档整理
  18. Zabbix监控平台3.2.4(二)深入理解zabbix
  19. es6入门2--对象解构赋值
  20. CentOS7.3上如何安装Apache/2.4.34

热门文章

  1. SpringCloud-服务间通信方式
  2. HTML引入外部字体
  3. 剑指offer二刷——数组专题——数字在升序数组中出现的次数
  4. 威联通(NAS)搭建个人音乐中心
  5. 【Codeforces 809E】Surprise me!(莫比乌斯反演 &amp; 虚树)
  6. docker容器之间通过bridge进行通信
  7. JDK下载与安装
  8. 仵航说 Vue项目如何打包并发布到linux服务器 仵老大
  9. 算法(Java实现)—— KMP算法
  10. 第九章 Nacos Config--服务配置