2015-06-26 18 views
2

我正在製作一個需要顯示視頻的html頁面。該視頻的URL可在jsondecode輸出中找到。在這裏有什麼辦法從JSON輸出中挑選一些作品並在我的html頁面中使用它?我試過POST和GET和回聲,但它似乎並沒有工作。從php文件調用JSON到HTML頁面

要清楚:我試圖從一個PHP文件獲取它到一個單獨的HTML文件。

JSON響應位於函數的單獨文件中。

public function getURL(){ 
    $server_url= ilObjPresentations2GoGUI::getServerUrl(); 
    $secret_key= ilObjPresentations2GoGUI::getSecretKey(); 
    $authorized_group= ilObjPresentations2GoGUI::getAuthorizedGroup(); 
    $link_usable= ilObjPresentations2GoGUI::getLinkUsable(); 
    $query = 'technology'; 

    $date = new DateTime('NOW'); 
    $ts = $date->format('Y-m-d\TH:i:s'); 
    $interval = 'PT' . $this->link_usable . 'H'; 
    $date->add(new DateInterval('PT' . $link_usable . 'H')); 
    $expired = $date->format('Y-m-d\TH:i:s'); 
    $url = $server_url . '?action=search&query='. $query . '&group='. $authorized_group . '&ts=' . $ts . '&expired=' .$expired; 

    $token = ilObjPresentations2GoAPI::create($url,$secret_key); 
    $goodurl = $url . '&token=' . $token; 

    $json = file_get_contents($goodurl); 
    $the_data = json_decode($json, true);} 

輸出:

array(9) { ["schemaVersion"]=> string(3) "1.0" ["catalogueVersion"]=> string(14) "4.0.5651.20898" ["encoding"]=> string(5) "UTF-8" ["action"]=> string(6) "search" ["query"]=> string(10) "technology" ["page"]=> string(1) "1" ["pageCount"]=> string(1) "1" ["success"]=> string(4) "true" ["response"]=> array(3) { [0]=> array(10) { ["id"]=> string(6) "bWKUL2" ["title"]=> string(57) "Technology-Based Professional Learning and Support Models" ["date"]=> string(19) "2011-12-05T10:19:21" ["contributors"]=> string(0) "" ["thumbnailUrl"]=> string(409) "https://DEMO-FORMS.presentations2go.eu/P2G/plugins/mediaservice.aspx? 

(這還不是全部,但除此之外,它會一直半頁)

+0

什麼是從'的var_dump($ the_data)輸出;''json_decode'後? – vitozev

+0

@unixarmy我用這些數據編輯了問題。 – Bonny

+0

您可以使用'$ the_data'從該json數據中獲取值。例如''$ the_data ['title']'。 – redelschaap

回答

5

你可以用你的HTML中的JSON解碼陣列中的數據,只要這些文件具有.php擴展名或它們包含在PHP中:

<div><?php echo $the_data['title']; ?></div> 

由於您的$the_data陣列的方法getURL()之內,你可以返回這就是$the_data陣列內的網址:

public function getURL() { 
    ... 

    $the_data = json_decode($json, true); 

    return !empty($the_data['url']) ? $the_data['url'] : ''; 
} 

... 

<div><?php echo $your_object->getURL(); ?></div> 
+0

如果我需要爲多個視頻執行此操作,該怎麼辦? – Bonny

+0

這取決於你如何獲得多個視頻的網址。它們全都在一個JSON對象中嗎?或在多個對象? – redelschaap