PHP 做群发短信(短信接口连接问题)

//首先写个方法
function
sendSMS($http,$username,$password,$sendmobile,$send_content){ $httpurl = $http; $data = array ( 'USERNAME'=>$username, //用户账号 'PASSWORD'=>$password, //用户密码 'MOBILE'=>$sendmobile, //号码 'CONTENT'=> mb_convert_encoding($send_content,'GB2312','UTF-8'), //内容 ); $re= $this->postSMS($httpurl,$data); //POST方式提交 if(trim($re)>0) { return "success"; } else { return "error"; } } function postSMS($httpurl,$data=''){ $row = parse_url($httpurl); $host = $row['host']; $port = isset($row['port']) ? $row['port']:80; $file = $row['path']; $post = ''; while (list($k,$v) = each($data)) { $post .= ($k)."=".($v)."&"; } $post = substr($post,0 ,-1); $len = strlen($post); $fp = @fsockopen( $host ,$port, $errno, $errstr, 10); if (!$fp) { return "$errstr ($errno)\n"; }else { $receive = ''; $out = "POST $file HTTP/1.1\r\n"; $out .= "Host: $host\r\n"; $out .= "Content-type: application/x-www-form-urlencoded\r\n"; $out .= "Connection: Close\r\n"; $out .= "Content-Length: $len\r\n\r\n"; $out .= $post; fwrite($fp, $out); while (!feof($fp)) { $receive .= fgets($fp,128); } fclose($fp); $receive = explode("\r\n\r\n",$receive); unset($receive[0]); return implode("",$receive); } }

PHP处理页面

$sendmobile = isset($_POST['mobile']) ? trim($_POST['mobile']) : '';
  $hm_arr = explode(',', $sendmobile);
  $sendtime = isset($time) ? strtotime($time) : $systime;
  $sendcontent = isset($_POST['contentname']) ? trim($_POST['contentname']) : '';
  $sendstatus = 1;
  $sendsign = isset($_POST['sendsign']) ? trim($_POST['sendsign']) : '';
  $send_content = $sendcontent.'  --'.$sendsign;
  $httpurl = $sms_config['httpurl'];
  $username = $sms_config['username'];
  $password = $sms_config['password'];
  $balance_info = $balance->GetBlanceInfo($uid);
  $balance_sy = $balance_info['balance_info']-$balance_info['rate'];
  $rate = $balance_info['rate'];
  if($balance_sy > $rate){
  $hp = $balance->sendSMS($httpurl,$username,$password,$sendmobile,preg_replace('/\s+/','%20',$send_content));
  if($hp == 'success'){
     $sql_c = "update {$tablepre}sms_info set balance_info = '$balance_sy',amount = amount+'1' where userid = '$uid'";
     $rs = $db->query($sql_c);
     $sql_s = "update {$tablepre}company set corpname = '$sendsign' where userid = '$uid'";
     $rs_s = $db->query($sql_s);
     $sql = "insert into {$tablepre}sms_log (sendmobile,userid,sendtime,sendcontent,sendtype,sendstatus,sendmoney) values ('$sendmobile','$uid','$sendtime','$sendcontent','$sendtype','$sendstatus','$rate')";
     $rs = $db->query($sql);
     header("location:index.php?c=sigle_send_mess&s=1");
     }else{
     header("location:index.php?c=sigle_send_mess&s=2");
  }
    }else{
      header("location:index.php?c=sigle_send_mess&s=3");
     }

 

posted @ 2013-05-21 10:10  王翔(kingfly)  阅读(1739)  评论(0编辑  收藏  举报