Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从JSON解析视频名称和url_Php_Json - Fatal编程技术网

Php 从JSON解析视频名称和url

Php 从JSON解析视频名称和url,php,json,Php,Json,我需要帮助从一些JSON数据解析视频的名称和URL <?php $json = file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337'); $obj = json_decode($json); foreach($obj->videos as $videos){ $string = $videos->url; $arr = explode('cl

我需要帮助从一些JSON数据解析视频的名称和URL

<?php

$json = file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337');

$obj = json_decode($json);
foreach($obj->videos as $videos){
    $string = $videos->url;

$arr = explode('clientType=0',$string);
$string = implode('clientType=0", type:"mp4"},',$arr);
$arr = explode('http',$string);
$string = implode('{ file: "http',$arr);
echo $string;
}
?>
原始url:

您可以在此处进行测试:



$video
变量是一个
stdClass
对象,这意味着您可以通过
$video->value

检索另一个值。如果您试图基于另一个数据(如小提琴上的数据)创建另一个json,请不要手动创建json字符串。在另一个容器中收集所需的值,然后重新编码

$data = json_decode(file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337'), true);
$return = array();
foreach($data['videos'] as $videos){
    $filename = $videos['name'];
    $url = $videos['url'];
    $type = 'mp4';

    $return[] = array(
        'file' => $url,
        'type' => $type,
        'name' => $filename,
    );
}

echo json_encode($return);

// echo '<pre>';
// echo json_encode($return, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
$data=json\u解码(文件\u获取\u内容('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337",对),;
$return=array();
foreach($data['videos']作为$videos){
$filename=$videos['name'];
$url=$videos['url'];
$type='mp4';
$return[]=数组(
“文件”=>$url,
'type'=>$type,
'name'=>$filename,
);
}
echo json_编码($return);
//回声';
//echo json_encode($return,json_UNESCAPED_SLASHES | json_PRETTY_PRINT);

代码运行良好,但链接不行
我猜ok.ru使用了某种破解

的方法,但我还需要每个url的名称。如果您意识到您已经覆盖了
$string
变量两次,对吗?好的,另一个问题。。。为什么视频url在godaddy上有效而在其他主机上无效?@VincenzoPiromalli你这是什么意思?它在另一台主机上不可访问?页面上写了什么?
<?php

   $json = file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337');

   $obj = json_decode($json);
   foreach($obj->videos as $video){
      echo $video->name .' :: '. $video->url;
      echo '<br>';
   }
?>
$data = json_decode(file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337'), true);
$return = array();
foreach($data['videos'] as $videos){
    $filename = $videos['name'];
    $url = $videos['url'];
    $type = 'mp4';

    $return[] = array(
        'file' => $url,
        'type' => $type,
        'name' => $filename,
    );
}

echo json_encode($return);

// echo '<pre>';
// echo json_encode($return, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);