如果我的内容在foreach循环中,如何在PHP中延迟curl请求?

时间:2018-01-25 07:10:03

标签: php mysql curl

我正在使用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";
}

1 个答案:

答案 0 :(得分:0)

在你的php.ini中,根据需要设置第二秒的执行超时

max_execution_time = 60

如果你想在php文件中定义它。添加此行

ini_set('max_execution_time', 60);