네이버 영상 썸네일 자동생성 방법 채택완료
위 스킨을 받아서 썸네일 가져오는 부분만 네이버꺼로 변경해서 적용해봤는데요...
list.skin.php
Copy
// 네이버 영상 썸네일을 가져올 함수 추가
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개
채택된 답변
+20 포인트
5년 전
스킨은 아니지만, 제가 사용하던 소스 보여드릴게요
Copy
$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;
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
coDribble
5년 전
댓글을 작성하려면 로그인이 필요합니다.
5년 전
Copy
// 네이버 영상 썸네일을 가져올 함수 추가
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로 하시면 됩니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
coDribble
5년 전
헐... 잘 됩니다ㅠㅠㅠㅠ 왜 이렇게 늦게 오셨나요ㅠㅠㅠㅠㅠ
curl 에 대해 찾아봐야겠네요...
덕분에 불러와보기라도 했네요ㅠㅠㅠ 감사합니다ㅠㅠㅠ
이미 채택을 준 상태여서 채택 못드려서 죄송합니다...;;ㅠㅠㅠㅠ
감사드립니다~!!ㅠㅠㅠ
curl 에 대해 찾아봐야겠네요...
덕분에 불러와보기라도 했네요ㅠㅠㅠ 감사합니다ㅠㅠㅠ
이미 채택을 준 상태여서 채택 못드려서 죄송합니다...;;ㅠㅠㅠㅠ
감사드립니다~!!ㅠㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
위 본문에서 스킨링크에서도 보면 write_update.head.skin.php 파일에서
네이버 영상은 json 으로 받아오는 부분을 찾아서 적용시켜봤는데...
썸네일도 가져오질 못하고, 레이아웃이 틀어지더라구요;;ㅠㅠㅠ
[code]
$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;
[/code]
이게 다운받은 스킨파일에 있던 소스이고... 일단 위 소스적용시 네이버영상 등록한 게시글포함한 이전 게시글들이 보이질 않게 되는... 레이아웃이 깨지네요;;
[code]
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 );
[/code]
이건 @sad4u 님께서 알려주신 방법을 토대로 변형해본건데요... 알려주신 방법대로 하면 틀은 안깨지나... 썸네일 url 을 가져오지 못해 엑박이 뜨네요;;ㅠㅠㅠ
도움 주셔서 감사합니다...
어떤 글 보면 서버에서 뭐 허용해야한다는 그런 글들도 봤는데
그게 문제인지는 모르겠으나...ㅠㅠㅠ
네이버영상은 썸네일 안불러와진다 말하고...
결국 유튜브영상을 등록하는거로 바꿨습니다;; 감사드립니다.
다음에 기회되면 다시 도전해보겠습니다ㅠㅠㅠ