【发布时间】:2018-01-25 07:10:02
【问题描述】:
我正在使用 php 脚本,我想通过带有 cURL 的 api 发送短信,但是如果我的电话号码是多个(它在一个数组中)并且我使用 foreach 为每个联系人发送短信号码,但是当我在 foreach 中使用 cURL 请求时,它只需要第一个联系人号码,之后它就无法将短信发送到我的联系人数组中可用的另一个号码。
这是要理解的代码。
function sendSMS($data){
$phones = $data['recipient_contact'];
$explode_contact = explode(",", $phones);
//read all the contact and send the mail
foreach($explode_contact as $k=>$v){
$contact_number = '91'.$v;
$sms_body = $data['sms_body'];
$curl = curl_init();
$data = array(
'aid'=>'XXXX',
'pin'=>'XXXX',
'mnumber'=>$contact_number,
'message'=>$sms_body,
'singnature'=>'XXXXX');
$url = sprintf("%s%s","http://mysmslink/HttpLink",http_build_query($data));
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
sleep(5);
curl_close($curl);
}
return "SMS Send Successfully";
}
【问题讨论】:
-
请添加
$result的内容以获取成功和失败通过。我希望你可以echo它。 -
下面的答案表明您正在达到执行超时。你确定这是真的吗?出现超时错误消息,你收到了吗?
-
你拼错了
singnature,你的真实代码也是错的吗? -
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。