Я пытаюсь разобрать this JSONP file. Мне повезло с разбором JSON в прошлом, и я впервые попробовал JSONP. Я прочитал некоторые другие темы на этом сайте, которые вы можете использовать substr()
, чтобы получить данные, сняв вызов функции JavaScript. Это моя попытка:Parsing JSONP в PHP
<?php
$json = file_get_contents("http://live.nhle.com/GameData/GCScoreboard/2016-01-18.jsonp");
$json = json_decode(substr($json, 15, 1));
echo var_dump($json);
$date = strtotime("now");
echo $date;
foreach ($json as $d) {
$atCommon = $d['atcommon'];
$idGame = $d['id'];
$caNationalBroadcasts = $d['canationalbroadcasts'];
$ata = $d['ata'];
$r1 = $d['r1'];
$atsog = $d['atsog'];
$bs = $d['bs'];
$htCommon = $d['htcommon'];
$atn = $d['atn'];
$hts = $d['hts'];
$atc = $d['atc'];
$htn = $d['htn'];
$usNationalBroadcasts = $d['usnationalbroadcasts'];
$gcl = $d['gcl'];
$hta = $d['hta'];
$ats = $d['ats'];
$htc = $d['htc'];
$htsog = $d['htsog'];
$bsc = $d['bsc'];
$gs = $d['gs'];
$gcl1 = $d['gcl1'];
// echo $htCommon;
// echo $atCommon;
}
?>
До сих пор я получаю эти две ошибки:
ПРЕДУПРЕЖДЕНИЕ file_get_contents() был отключен по соображениям безопасности на номер строки 2
ПРЕДУПРЕЖДЕНИЕ Недействительный аргумент для Еогеасп () в строке номер 7
Кроме того, я знаю, что file_get_contents()
не отключен, потому что я использую эту функцию в нескольких других местах на моей ссылке проекта * ниже.
Вот мой выходной ток (который является нулевым для JSONP):
NULL 1453102048 The Null and $date are hidden echo's beneath the stats link
Вопрос в основном это ... Что я делаю не так?
сделать 'var_dump (ini_get ('disable_functions')) ; 'и проверить вывод. Если 'file_get_contents' действительно отключен, вы всегда можете использовать' curl' для извлечения файла –
, чтобы проверить этот ответ о том, как правильно [разбирать 'jsonp'-вывод в' json'] (http://stackoverflow.com/a/5081588/5043552) –
@AlexAndrei этот ответ использует строку в демо. Моя цель состоит в том, чтобы иметь переменные в этой ссылке, чтобы вместо статической ссылки на определенный день она обновлялась ежедневно. Если я не пропущу что-то очевидное, я не смогу сделать это с тем, что показывает его демо. –