I am sending a curl request to a server that needs a few seconds to process the request and spit out a response. I believe my php script is continuing on and not waiting, therefore my foreach loop based on the response is spitting out 0 results. How can i wait for the curl transaction to complete before moving on and processing data?
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
  curl_setopt($curl, CURLOPT_USERPWD, "admin:password");
  curl_setopt($curl, CURLOPT_URL, "http://server/r/?dst_user__substr='user'");
  curl_setopt($curl, CURLOPT_VERBOSE, 1);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  $ret = curl_exec($curl);
  $result = json_decode($ret,true);
 <<<<I need to wait until transaction is complete here>>>>
  foreach ($result['data'] as $key => $value)
  {
        //process data from $result
  }
                curl is blocking, which means that:
$result = json_decode($ret,true);
foreach ($result['data'] as $key => $value)
{
      //process data from $result
}
won't execute until:
$ret = curl_exec($curl);
is complete. You can check for errors and other issues using curl_error() and by checking the HTTP response code with curl_getinfo().
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With