2013-04-21 2 views
0

JSON 응답을 통해 YouTube 비디오에서 미리보기 이미지를 저장하려고합니다.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; 
    } 

보기 : 나는 일반적으로 CodeIgniter의 및 코딩에 새로운 오전

<?php echo $video_thumb; ?> 

, 나는 실현 내 구조는 대부분하지 않을 수도 있습니다 알맞다. 내가보기를 렌더링 할 때

지금까지,이 나타납니다

Severity: Notice 

Message: Undefined variable: video_thumb 

왜 이런 일이? 이 일을하는 더 좋은 방법을 제안 해 주시겠습니까? 감사! 지금까지 thumbnail_url을 출력하여 get_youtube 함수가 작동하는지 알아 보았습니다.하지만 분명히 아닙니다.

다시 한 번 감사드립니다. :) 당신이 줄 JSON 응답에서 배열을 생성하는

+0

보기를 어떻게 부르나요? – Shomz

+0

컨트롤러가 업데이트되었습니다. '링크'는 양식 필드에서 가져옵니다. –

+0

여전히 정의되지 않은 변수로 반환됩니다. –

답변

2

: 너무 어딘가에 오류 :

$result = json_decode($return, true); 

(see the docs) 당신은 "비 개체의 속성을 얻으려고 노력 PHP 공지 사항"을 참조한다.

는 그래서 $result->thumbnail_url 대신 $result['thumbnail_url']해야한다, 또는 당신은 너무 일 것 json_decode()의 매개 변수에서 두 번째 true을 놓을 수 있습니다.

관련 문제