$str_tmp = DAdmin_Utils::gbkStrSplit(“短信内容”, 700);//内容过长返回的是一个截取内容后的数组 700指的是截取的长度
$total = count($str_tmp);
$num = 1;
foreach($str_tmp as $str)
{
if($total > 1)
{
$str = $str . "{$num}/{$total}";
$num ++;
}
$sign = strtoupper(md5($key.$pMobile.$str.$ip));
$url = "短信地址?from=37&sgin=".$sign."&tel=".$pMobile."&msg=".$str;
$ret = file_get_contents($url);
$result = json_decode($ret,true);
}
//发送短信方法
function gbkStrSplit($string, $len = 1){
$length = strlen($string);//获取长度,汉字占三个字节
$retstr = '';
$retArr = array();
for ($i = 0; $i < $length; $i++) {
$retstr .= ord($string[$i]) > 127 ? $string[$i] . $string[++$i] : $string[$i];
$len_tmp = strlen($retstr);
if ($len_tmp >= $len) {
$retArr[] = $retstr;
$retstr = '';
}
}
if ($retstr != '') {
$retArr[] = $retstr;
}
return $retArr;
}
本文介绍了一种当短信内容过长时进行分段发送的方法。通过使用PHP脚本实现短信内容的切割,并确保每段短信能够正确附加序号标识。此外还介绍了如何通过MD5签名确保短信发送的安全性。

1252

被折叠的 条评论
为什么被折叠?



