2013-04-21 73 views
0

我試圖通過其JSON響應保存來自YouTube視頻的縮略圖img URL。Codeigniter - 從YouTube視頻獲取「thumbnail_url」JSON響應

用戶首先通過表單提交youtube鏈接。

控制器:

$data['video_thumb'] = $this->gallery_model->get_youtube('link'); 


     $this->load->view('templates/header'); 
     $this->load->view('media/index', $data); 
     $this->load->view('templates/footer'); 

型號:

function get_youtube($url){ 

     $youtube = "http://www.youtube.com/oembed?url=". $url ."&format=json"; 

     $curl = curl_init($youtube); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
     $return = curl_exec($curl); 
     curl_close($curl); 
     $result = json_decode($return, true); 

     $video_thumb = $result->thumbnail_url; 
     $video_thumb = str_replace('"\"','',$video_thumb); 

     return $video_thumb; 
    } 

查看:

<?php echo $video_thumb; ?> 

我是新來的,一般笨和編碼,我意識到我的結構可能不是最不合適。

到目前爲止,當我渲染視圖,這似乎是:

Severity: Notice 

Message: Undefined variable: video_thumb 

這究竟是爲什麼?你能建議我一個更好的方法來做到這一點?謝謝! 到目前爲止,我只是打印出thumbnail_url來查看get_youtube函數是否正在工作,但顯然不是。

再次感謝! :)

+0

你打電話給你的觀點如何? – Shomz 2013-04-21 21:03:34

+0

更新了控制器,'鏈接'來自表單字段 – 2013-04-21 21:12:03

+0

仍然返回爲未定義的變量 – 2013-04-21 21:39:10

回答

2

你是從使用該行的JSON響應的數組:

$result = json_decode($return, true); 

see the docs),你應該會看到一個「PHP的通知:試圖讓非對象的屬性」錯誤太多地方。

所以$result->thumbnail_url$result['thumbnail_url']代替,或可以從json_decode()的參數,將工作太丟棄第二true