来自 计算机编程 2019-12-29 05:22 的文章
当前位置: 澳门威尼斯人平台 > 计算机编程 > 正文

PHP发送短信代码分享

方法一

/**
 * 手机短信发送
 *  需要开启 Crul 
 * 分钟配额为:1000 次/分钟 。 超过分钟配额服务禁用。
 * 向同一手机号发送短信, 最小时间间隔为15 秒。
 * 一次最多都只能发65个汉字(英文字母也只能发65个)。  
 */ 
class SMS{
    private $curl=null;
    private $uid=null;//用户id
    private $key=null;//用户key
    private $error=null;//错误消息
    private $server='http://it266.sinaapp.com/sendsms.php';//服务器url

    public function __construct($uid,$key){
        $this->uid=$uid;
        $this->key=$key;

        $this->curl = curl_init($this->server);
        curl_setopt($this->curl, CURLOPT_HEADER, 0 ); // 过滤HTTP头
        curl_setopt($this->curl,CURLOPT_RETURNTRANSFER, 1);// 显示输出结果
        curl_setopt($this->curl,CURLOPT_POST,true); // post传输数据
    }

    public function __get($name){
        if($name=='error'){
            return $this->error;
        }
    }

    public function setServer($server){
        $this->server=$server;
    }

    public function getError(){
        return $this->error;
    }

    //发送短信
    //成功返回true,失败返回false
    public function send($mobile,$content){
        $para=array(
            'uid'=>$this->uid,
            'key'=>$this->key,

            'mobile'=>$mobile,
            'content'=>$content,
        );

        curl_setopt($this->curl,CURLOPT_POSTFIELDS,$para);// post传输数据
        $responseText = curl_exec($this->curl);
        //var_dump( curl_error($this->curl) );//如果执行curl过程中出现异常,可打开此开关,以便查看异常内容

        if($responseText=='1'){
            return true;
        }
        $this->error=$responseText;
        return false;
    }

    public function __destruct(){
        curl_close($this->curl);
    }

}

javascript发送短信验证码实现代码,javascript发送短信

本文首先分析手机发送验证码的原理,再对javascript发送短信验证码予以实现,具体思路如下:
实现点击“发送验证码”按钮后,按钮依次显示为“59秒后重试”、“58秒后重试”…直至倒计时至0秒时再恢复显示为“发送验证码”。在倒计时期间按钮为禁用状态 .

第一步、获取按钮、绑定事件、设置定时器变量和计时变量

第二步、添加定时器,每隔1秒钟计时减 1,直至当计时小于等于 0 时清除定时器,按钮恢复为“发送验证码”,否则显示为“X秒后重试”

效果图:

图片 1

实现代码:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script type="text/javascript">
  window.onload=function(){
    var send=document.getElementById('send'),
      times=60,
      timer=null;
    send.onclick=function(){
     // 计时开始
     var that = this;
      this.disabled=true;
      timer = setInterval(function(){
        times --;
        that.value = times + "秒后重试";
        if(times <= 0){
          that.disabled =false;
          that.value = "发送验证码";
          clearInterval(timer);
          times = 60;
        }
        //console.log(times);
      },1000);  
    }  
  } 
  </script>
</head>
<body>
  <input type="button" id="send" value="发送验证码">
</body>
</html>

注意点:

设置按钮是否为禁用时,send.disabled=true; send.disabled=false;
true和false不能加引号!true和false不能加引号!true和false不能加引号!否则值永远为真。
也可用send.setAttribute('disabled','disabled');
或send.removeAttribute('disabled');

以上就是为大家分享的javascript发送短信验证码全部代码,希望对大家的学习有所帮助。

本文首先分析手机发送验证码的原理,再对javascript发送短信验证码予以实现,具体思路...

//PHP发送短信 Monxin专用//本代码基于Monxin 运行//代码来源:Monxin ./config/functions.php function sms($config,$language,$pdo,$sender,$phone_number,$content){ //demo var_dump(sms(self::$config,self::$language,$pdo,"system","18074507509,15507455992","测试内容,时间".date("H:i:s",time()))); $sender=safe_str($sender); $content=safe_str($content); $arr=explode(',',$config['sms']['disable_phrase']); $disable=false; foreach($arr as $v){ if(strpos($content,$v)!==false){$phrase=$v;$disable=true;continue;} } if($disable){return $language['exist_disable_phrase']." ".$phrase;} $phone_number=explode(',',$phone_number); $phone_number=array_unique($phone_number); $addressee=''; $count=0; foreach($phone_number as $v){ if(preg_match($config['other']['reg_phone'],$v)){$addressee.=$v.',';} } $addressee=trim($addressee,','); $addressee=explode(",",$addressee); //var_dump($addressee); $section=ceil(count($addressee)/$config['sms']['max']); for($i=0;$i$section;$i++){ $phone[$i]=''; for($j=$i*$config['sms']['max'];$j($i+1)*$config['sms']['max'];$j++){ //echo $j.','; if(isset($addressee[$j])){$phone[$i].=$addressee[$j].$config['sms']['delimiter'];} } $phone[$i]=trim($phone[$i],$config['sms']['delimiter']); $temp=explode($config['sms']['delimiter'],$phone[$i]); $count=count($temp); $length=ceil(strlen(preg_replace('/[/x80-/xff]{3}/','x',$content))/($config['sms']['length']/2)); $count=$length*$count; if(!isset($timing)){$timing=0;} if($phone[$i]!=''){ $time=time(); $sql="insert into ".$pdo-index_pre."phone_msg (`sender`,`addressee`,`content`,`state`,`time`,`count`,`timing`) values ('$sender','".$phone[$i]."','".$content."','1','$time','$count','0')"; if($pdo-exec($sql)){ return send_sms($config,$pdo,$pdo-lastInsertId()); }else{ return false; } } } }

调用示例:

例2:在PHP5中通过file_get_contents函数发送短信

header("Content-Type:text/html;charset=utf-8");
$sms_id = 1;//发短信ID,请修改为你的user_id
$sms_key= '8e14eeec65bc8e8b3d2c';//发短信KEY,请修改为你的user_key
$sms=new  SMS($sms_id,$sms_key); //使用示例: 
$result=$sms->send($phone = '18858287938',$content = '我还好,那你呢?');
echo $result ? '密码已发送到您手机上' : '短信发送失败。'.$sms->getError();

本文由澳门威尼斯人平台发布于计算机编程,转载请注明出处:PHP发送短信代码分享

关键词: