我有一个向人们发送消息的api,还有url形式的api,它将用户登录详细信息和电话号码作为url的输入。一次我可以发送10条短信,但我想为批量短信实现它。
我正在尝试这个代码,但它只适用于10短信,如果我们提供了10个以上的手机号码,它就不起作用了,有人能告诉我在我的代码中犯了什么错误吗
代码:
$numbersarray=explode(",",$numbers); //stores numbers as array
/*XML API by Aditya*/
$numbers_xml_string=""; //stores XML string of numbers and message
foreach($numbersarray as $num){
$numbers_xml_string.="<Message><To>".$num."</To><Text>".$text."</Text></Message>";
}
//XML string to be encoded
$xmlstring="<SmsQueue><Account><User>".$user."</User><Password>".$password."</Password></Account><MessageData><SenderId>".$api_id."</SenderId><Gwid>1</Gwid><DataCoding>0</DataCoding></MessageData><Messages>".$numbers_xml_string."</Messages></SmsQueue>";
$xmlstring=urlencode($xmlstring);//encode the string
//prepare URL
$url="http://login.smsgatewayhub.com/xmlapi/pushsms.aspx?data=".$xmlstring;
echo "url".$url;
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded'r'n",
'method' => 'POST',
'content' => http_build_query($numbersarray),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);
根据您的示例代码,可能有两个原因:
首先,您可能只有发送10条短信的权限。
第二,你每次只能发送10条信息。在这种情况下,你应该知道你应该等待的时间,并每次运行脚本向剩余的号码发送短信。