3
Я прочитал данные из API с помощью следующего кода:CURL ошибок и PHP чтение наступающий JSON с API
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $screenshot_id);
curl_setopt($ch, CURLOPT_HEADER, 0); // No HTTP headers
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return the data
$resultset = curl_exec($ch);
curl_close($ch);
Я получаю этот JSON от API:
{
"url":"URL page",
"images":[
{
"url":"URL image",
"width":1360,
"height":768,
"_id":"578fc3d14a3c4103002f99b2"
},
{
"url":"URL image",
"width":320,
"height":480,
"_id":"578fc3d44a3c4103002f99b3"
}
],
"date":"2016-07-20T18:32:42.046Z",
"id":"MM7Kl31Rl"
}
Первым шагом превратить его в объект и цикл для извлечения желаемых данных, с помощью этого кода:
$screenshot_url_json = json_decode($resultset, true);
if(count($screenshot_url_json['images']) > 0){
foreach($screenshot_url_json['images'] as $thumb){
if($thumb['width'] == 1360 && $thumb['height'] == 768){
$screenshot_url = $thumb['url'];
}
}
Проблема в том, что большинство раз поле «url» пустое и другое время восстановления успешно. В чем проблема? Некоторый параметр отсутствует при выполнении завитки?
Но если я запустил «$ screenshot_id» в браузере и нажимаю ENTER, он восстанавливает мне строку успешно. API, который я использую, таков: Get screenshots from website.