// $DT在common.inc.php中定义, $CACHE = cache_read('module.php'); $DT = $CACHE['dt'];  从缓存里读取网站配置信息。

//$db 数据库类,$DT 全局配置,$DT['sms'] 开启手机短信,$DT_TIME系统时间,$DT_IP 当前ip地址,$_username当前用户

//DT_CLOUD_UID  DT_CLOUD_KEY 在common.inc.php 中定义 

//define('DT_CLOUD_UID', $CFG['cloud_uid']);   //$CFG 加载根目录下 config.inc.php ,所以短信发送接口用户名和密码在这里设置。新版dt在 后台系统设置-》网站设置-》云服务 里设置。

//define('DT_CLOUD_KEY', $CFG['cloud_key']);  

//参数:$mobile手机号,$message发送内容,$word 字数,$time 时间

function send_sms($mobile, $message, $word = 0, $time = 0) {

      global $db, $DT, $DT_TIME, $DT_IP, $_username;    

    //开启短信,设置了用户名密码,手机号合法,内容给不低于5个字符。

     if(!$DT['sms'] || !DT_CLOUD_UID || !DT_CLOUD_KEY || !is_mobile($mobile) || strlen($message) < 5) return false;    

     $word or $word = word_count($message);     //若没有指定字数,则通过函数word_count计算字数 ,这个函数涉及mb_strlen,strlen的区别。

     $sms_message = convert($message, DT_CHARSET, 'UTF-8');   
     $data = 'sms_uid='.DT_CLOUD_UID.'&sms_key='.md5(DT_CLOUD_KEY.'|'.$mobile.'|'.md5  ($sms_message)).'&sms_charset='.DT_CHARSET.'&sms_mobile='.$mobile.'&sms_message='.rawurlencode($sms_message).'&sms_time='.$time;
     $header = "POST /send.php HTTP/1.0\r\n";
      $header .= "Accept: */*\r\n";
     $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
     $header .= "Content-Length: ".strlen($data)."\r\n\r\n";
     $fp = function_exists('fsockopen') ? fsockopen('sms.destoon.com', 8820) : stream_socket_client('sms.destoon.com:8820');
     $code = '';
     if($fp) {
         fputs($fp, $header.$data);
         while(!feof($fp)) {
               $code .= fgets($fp, 1024);
          }
        fclose($fp);
           if($code && strpos($code, 'destoon_sms_code=') !== false) {
             $code = explode('destoon_sms_code=', $code);
             $code = $code[1];
            } else {
             $code = 'Can Not Connect SMS Server';
            }
        } else {
             $code = 'Can Not Connect SMS Server';
         }

         //记录发送记录
         $db->query("INSERT INTO {&#36;db->pre}sms (mobile,message,word,editor,sendtime,code) VALUES ('$mobile','$message','$word','$_username','$DT_TIME','$code')");
          return $code;
}
View Code

相关文章:

  • 2021-09-01
  • 2022-03-02
  • 2021-11-17
  • 2021-12-14
  • 2021-12-11
  • 2021-11-17
  • 2021-04-18
  • 2021-12-28
猜你喜欢
  • 2022-12-23
  • 2022-02-17
  • 2021-11-26
  • 2022-01-01
  • 2021-09-07
  • 2022-12-23
相关资源
相似解决方案