情诗网 >情话短信 > 正文

PHP封装发送短信类!

来源:情诗网    2020-11-13    分类:情话短信


/**
 * 手机短信发送
 *  需要开启 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) ); 
        
        if($responseText=='1'){
            return true;
        }
        $this->error=$responseText;
        return false;
    }
    
    public function __destruct(){
        curl_close($this->curl);
    }
    
}

调用示例:

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();
 

热门文章