네이버 영상 썸네일 자동생성 방법

네이버 영상 썸네일 자동생성 방법

QA

네이버 영상 썸네일 자동생성 방법

본문

https://sir.kr/g5_skin/28815

 

위 스킨을 받아서 썸네일 가져오는 부분만 네이버꺼로 변경해서 적용해봤는데요...

 

list.skin.php



// 네이버 영상 썸네일을 가져올 함수 추가
if ( ! function_exists( 'get_movie_thumb' ) )
{
    function get_movie_thumb( $movieid )
    {
        $xml = simplexml_load_file("https://tv.naver.com/oembed?url=https://tv.naver.com/v/".$movieid."&format=xml");
        $movie_frame = $xml->html;
        $movie_img = $xml->thumbnail_url;
 
        return $movie_img;
    }
}

// 네이버TV url 은 https://tv.naver.com/v/영상ID
$linkArr = explode('/', $list[$i]['link'][1]); // 등록된 링크에서 /로 구분해서 배열로 저장
$v = array_pop($linkArr); // 배열의 마지막 원소를 가져옴 < 영상ID
 
echo get_movie_thumb( $v );

 

작성된 코드인데... 썸네일이 출력이 안됩니다...;;

 

구글링으로 php parsing xml 관련된거 찾아보고 new SimpleXMLElement(~~~) 도 써보고 load_file 말고 load_string 이었나?? 그거도 써보고 했는데 다 안되더라구요...;;

 

echo 찍어보면 아예 빈값이구요... var_dump 로 쩍어보면 NULL 이 뜹니다...ㅠㅠㅠ

 

유튜브영상 등록시 자동으로 썸네일 생성되듯이, 네이버TV영상도 자동으로 썸네일 생성되게 하려면

 

어떤 식으로 불러와야 하나요??ㅠㅠㅠㅠㅠ

이 질문에 댓글 쓰기 :

답변 2

스킨은 아니지만, 제가 사용하던 소스 보여드릴게요



$url = "https://tv.naver.com/v/13832767"; // naver url 
$video_info = json_decode(file_get_contents("https://tv.naver.com/oembed?url=".$url."&format=json"));

$title = $video_info->title;
$thumb_url = $video_info->thumbnail_url;

 

빠른 답변 감사드립니다.

위 본문에서 스킨링크에서도 보면 write_update.head.skin.php 파일에서

네이버 영상은 json 으로 받아오는 부분을 찾아서 적용시켜봤는데...

썸네일도 가져오질 못하고, 레이아웃이 틀어지더라구요;;ㅠㅠㅠ


$url = "https://tv.naver.com/oembed?url=https://tv.naver.com/v/".$movie_id."&format=json";
$jsondata = curl_get_contents($url);
$arr = json_decode($jsondata, true);

$movie_img = $arr['thumbnail_url'];

return $movie_img;

이게 다운받은 스킨파일에 있던 소스이고... 일단 위 소스적용시 네이버영상 등록한 게시글포함한 이전 게시글들이 보이질 않게 되는... 레이아웃이 깨지네요;;


function get_naver_thumb( $movieid ) {
$url = "https://tv.naver.com/oembed?url=https://tv.naver.com/v/".$movieid."&format=json";
$jsondata = json_decode(file_get_contents($url));

$movie_img = $jsondata->thumbnail_url;

return $movie_img;
}

echo get_naver_thumb( $v );

이건 님께서 알려주신 방법을 토대로 변형해본건데요... 알려주신 방법대로 하면 틀은 안깨지나... 썸네일 url 을 가져오지 못해 엑박이 뜨네요;;ㅠㅠㅠ

도움 주셔서 감사합니다...

어떤 글 보면 서버에서 뭐 허용해야한다는 그런 글들도 봤는데

그게 문제인지는 모르겠으나...ㅠㅠㅠ

네이버영상은 썸네일 안불러와진다 말하고...

결국 유튜브영상을 등록하는거로 바꿨습니다;; 감사드립니다.

다음에 기회되면 다시 도전해보겠습니다ㅠㅠㅠ


// 네이버 영상 썸네일을 가져올 함수 추가
if ( ! function_exists( 'get_movie_thumb' ) )
{
    function get_movie_thumb( $movieid )
    {
        $url = "https://tv.naver.com/oembed?url=https://tv.naver.com/v/".$movieid;
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
        $response = curl_exec($ch);
        curl_close($ch);
        $datas = json_decode($response);
        return $datas->thumbnail_url;
    }
}
echo get_movie_thumb( 13938869 );

curl로 하시면 됩니다.

 

헐... 잘 됩니다ㅠㅠㅠㅠ 왜 이렇게 늦게 오셨나요ㅠㅠㅠㅠㅠ

curl 에 대해 찾아봐야겠네요...

덕분에 불러와보기라도 했네요ㅠㅠㅠ 감사합니다ㅠㅠㅠ

이미 채택을 준 상태여서 채택 못드려서 죄송합니다...;;ㅠㅠㅠㅠ

감사드립니다~!!ㅠㅠㅠ

답변을 작성하시기 전에 로그인 해주세요.
전체 472
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT