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
}
This is really weird ! , it shouldn't happen like what you are getting. But anyways try like this..
Get a httpresponse code and then check up...
curl is blocking, which means that:
won't execute until:
is complete. You can check for errors and other issues using curl_error() and by checking the HTTP response code with curl_getinfo().