wangtengyu
2018-12-07 f459412e0dac4ed94106da043b4c6f8576bfe496
commit | author | age
3e083b 1 <?php
B 2 header("Content-Type:text/html;charset=utf-8");
3 /*--------------------------------
4 功能:HTTP接口 发送短信
5 说明:        http://http.yunsms.cn/tx/?uid=用户账号&pwd=MD5位32密码&mobile=号码&content=内容
6 状态:
7     100 发送成功
8     101 验证失败
9     102 短信不足
10     103 操作失败
11     104 非法字符
12     105 内容过多
13     106 号码过多
14     107 频率过快
15     108 号码内容空
16     109 账号冻结
17     110 禁止频繁单条发送
18     111 系统暂定发送
19     112    有错误号码
20     113    定时时间不对
21     114    账号被锁,10分钟后登录
22     115    连接失败
23     116 禁止接口发送
24     117    绑定IP不正确
25     120 系统升级
26 --------------------------------*/
27 //$uid = '9999';        //用户账号
28 //$pwd = '9999';        //密码
29 //$mobile     = '13912341234,13312341234,13512341234,02122334444';    //号码
30 //$content = '你好,验证码:1019【云信】';        //内容
31 //即时发送
32 //$res = sendSMS($uid,$pwd,$mobile,$content);
33 //echo $res;
34
35 //定时发送
36 /*
37 $time = '2010-05-27 12:11';
38 $res = sendSMS($uid,$pwd,$mobile,$content,$time);
39 echo $res;
40 */
41 function sendSMS($mobile,$content,$time='',$mid='')
42 {
43     $content = iconv('utf-8','gbk',$content);
44     $http = 'http://api.chanyoo.cn/utf8/interface/send_sms.aspx/'; //'http://http.yunsms.cn/tx/';
45     $uid = 'xxxxx'; // 用户账号
46     $pwd = 'xxxx'; // 密码
47     $data = array
48         (
49         'uid'=>$uid,                    //用户账号
50         'pwd'=>strtolower(md5($pwd)),    //MD5位32密码
51         'mobile'=>$mobile,                //号码
52         'content'=>$content,            //内容 如果对方是utf-8编码,则需转码iconv('gbk','utf-8',$content); 如果是gbk则无需转码
53         'time'=>$time,        //定时发送
54         'mid'=>$mid                        //子扩展号
55         );
56     $re= postSMS($http,$data);            //POST方式提交
57     
58     $re_t = substr(trim($re), 3, 3);
59     
60     if(trim($re) == '100' || $re_t == '100')
61     
62     {
63         return "发送成功!";
64     }
65     else 
66     {
67         return "发送失败! 状态:".$re;
68     }
69 }
70
71 function postSMS($url,$data='')
72 {
73     $port = $post = '';
74     $row = parse_url($url);
75     $host = $row['host'];
76     $port = isset($row['port']) ? $row['port']:80;
77     $file = $row['path'];
78     while (list($k,$v) = each($data)) 
79     {
80         $post .= rawurlencode($k)."=".rawurlencode($v)."&";    //转URL标准码
81     }
82     $post = substr( $post , 0 , -1 );
83     $len = strlen($post);
84     $fp = @fsockopen( $host ,$port, $errno, $errstr, 10);
85     if (!$fp) {
86         return "$errstr ($errno)\n";
87     } else {
88         $receive = '';
89         $out = "POST $file HTTP/1.1\r\n";
90         $out .= "Host: $host\r\n";
91         $out .= "Content-type: application/x-www-form-urlencoded\r\n";
92         $out .= "Connection: Close\r\n";
93         $out .= "Content-Length: $len\r\n\r\n";
94         $out .= $post;        
95         fwrite($fp, $out);
96         while (!feof($fp)) {
97             $receive .= fgets($fp, 128);
98         }
99         fclose($fp);
100         $receive = explode("\r\n\r\n",$receive);
101         unset($receive[0]);
102         return implode("",$receive);
103     }
104 }
105 ?>