JSON 到 PHP 数组使用 file_get_contents 无效
JSON to PHP Array using file_get_contents not working
我正在尝试从 dailymotion 获取视频 urls。
我得到了 JSON 结果并通过在线工具对其进行了有效测试,但是当我使用 js_decode 和 print_r 时,它会显示类似
的警告
<?php
$content = file_get_contents("http://www.dailymotion.com/embed/video/x49oyt5");
$content = explode(',"qualities":', $content);
$json = explode(',"reporting":', $content[1]);
$json = $json[0];
$mycontent = file_get_contents($json);
$response = json_decode($mycontent, true);
print_r($response);
?>
我想从 JSON 获得视频质量和视频 url。
使用 array_keys($array)
你可以从数组中获取所有键,它将 return 一个包含键的数组。
<?php
$content = file_get_contents("http://www.dailymotion.com/embed/video/x49oyt5");
$content = explode(',"qualities":', $content);
$json = explode(',"reporting":', $content[1]);
$json = $json[0];
$mycontent = file_get_contents($json);
$response = json_decode($mycontent, true);
$qualities = array_keys($response)
print_r($qualities);
?>
您正在使用 file_get_contents 实际上已经是 JSON。
更新代码,测试 ;)
<?php
$content = file_get_contents("http://www.dailymotion.com/embed/video/x49oyt5");
$content = explode(',"qualities":', $content);
$json = explode(',"reporting":', $content[1]);
$json = $json[0];
$videos = json_decode($json,true);
//Cycle through the 1080 videos and print the video urls
foreach($videos[1080] as $video){
printf("Video type:%s URL:%s\n", $video['type'], $video['url']);
}
//Cycle through the 720 videos and print the video urls
foreach($videos[720] as $video){
printf("Video type:%s URL:%s\n", $video['type'], $video['url']);
}
?>
我正在尝试从 dailymotion 获取视频 urls。 我得到了 JSON 结果并通过在线工具对其进行了有效测试,但是当我使用 js_decode 和 print_r 时,它会显示类似
的警告<?php
$content = file_get_contents("http://www.dailymotion.com/embed/video/x49oyt5");
$content = explode(',"qualities":', $content);
$json = explode(',"reporting":', $content[1]);
$json = $json[0];
$mycontent = file_get_contents($json);
$response = json_decode($mycontent, true);
print_r($response);
?>
我想从 JSON 获得视频质量和视频 url。
使用 array_keys($array)
你可以从数组中获取所有键,它将 return 一个包含键的数组。
<?php
$content = file_get_contents("http://www.dailymotion.com/embed/video/x49oyt5");
$content = explode(',"qualities":', $content);
$json = explode(',"reporting":', $content[1]);
$json = $json[0];
$mycontent = file_get_contents($json);
$response = json_decode($mycontent, true);
$qualities = array_keys($response)
print_r($qualities);
?>
您正在使用 file_get_contents 实际上已经是 JSON。
更新代码,测试 ;)
<?php
$content = file_get_contents("http://www.dailymotion.com/embed/video/x49oyt5");
$content = explode(',"qualities":', $content);
$json = explode(',"reporting":', $content[1]);
$json = $json[0];
$videos = json_decode($json,true);
//Cycle through the 1080 videos and print the video urls
foreach($videos[1080] as $video){
printf("Video type:%s URL:%s\n", $video['type'], $video['url']);
}
//Cycle through the 720 videos and print the video urls
foreach($videos[720] as $video){
printf("Video type:%s URL:%s\n", $video['type'], $video['url']);
}
?>