如何从Curl获取指定的数据?

时间:2017-02-19 18:37:37

标签: php json curl

对不起,如果我的英语不是很好,

我有一个文件,请查看http://www.tvlangsung.com/jwplayer-drive/google.php

google.php是

    <?php
$link = 'https://drive.google.com/file/d/0B1xQLLJtrzJoaWUxUHdqY01mRGM/view';
$api = 'https://api.blogit.vn/getlink.php?link='.$link.'&json=jwplayer';
$sources = curl($api);
function curl($url)
{
    $ch = @curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    $head[] = "Connection: keep-alive";
    $head[] = "Keep-Alive: 300";
    $head[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
    $head[] = "Accept-Language: en-us,en;q=0.5";
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36');
    curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
    curl_setopt($ch, CURLOPT_HTTPHEADER, $head);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    $page = curl_exec($ch);
    curl_close($ch);
    return $page;
}
?>

<?php echo $sources; ?>

问题是如何将数据分开

所以我可以制作像

这样的下载按钮
<a href="<?php echo $480p; ?>" target="_blank">Download 480p</a>
<a href="<?php echo $360p; ?>" target="_blank">Download 360p</a>

如何为每种质量采用重定向器链接?

请帮忙,我是新手

2 个答案:

答案 0 :(得分:2)

您需要使用json_decode()方法将结果解析为json。然后你可以循环结果。请记住,结果是对象,因此您必须按原样访问它们而不是数组。

$data = json_decode($sources);

foreach($data as $file) {
  echo '<a href="' . $file->file . '" target="_blank">Download '. $file->label . 'p</a><br/>';
}

这应该提供您要创建的链接。

答案 1 :(得分:1)

你应该解析json文件并生成带有type属性的按钮。 这是你应该的阵容。

$array = json_decode($sources);
foreach($array as $s){
  if($a['type']=="mp4"){ 
    put your link code here
  }
}