반응형

작업중에 유튜브게시판을쓰고 

기타 유튜브 영상을 끌어오는 작업을할때

동영상링크를 그대로 가져와서 썸네일을 쓰면 무난하지만

영상이 많으면 속도문제가 생긴다

그래서 썸네일만 따로 빼야하는경우, 리스트페이지일경우

추출함수가있길래 써봤다

일단 기본적인 난이도는 쉬움!

함수는 가져와놓고 링크 넣어주면 끝난다

필요한건

유튜브 동영상 ID 와

썸네일 품질형식? 해상도? <- 이게 정해져있더라

일단 함수는

저기 동영상링크부분 youtu.be/ 이후에 나열되는 이상한 문자가 필요하다

그 문자가 바로 동영상 ID

썸네일 주소는 두가지

http://img.youtube.com/vi/동영상ID/이미지형식.jpg

http://i.ytimg.com/vi/동영상ID/이미지형식.jpg

이미지형식이 해상도와 품질쪽인데

- 고품질 (480 x 360) : hqdefault.jpg

- 중간품질 (320 x 180) : mqdefault.jpg

- 보통품질 (120 x 90) : default.jpg

동영상 배경이미지 (480 x 360) : 0.jpg

구간별은 1.jpg , 2.jpg 등으로 설정할수도있다

 

가장 중요한 함수는

그누보드기준 lib.service.php 에 붙여넣어서 사용했다


//유튜브썸네일
if ( ! function_exists('get_youtube_code')) {
    function get_youtube_code($url) { 

        if (empty($url) || !$url) { 
            return;
        } 

        preg_match('@https?://(?:www\.)?youtube\.com/(?:watch\?|\?)[^>]*v[/=]([a-zA-Z0-9-_]+)@', $url, $matches);
        $code = $matches[1];

        if (!$code) { 
            preg_match('@https?://(?:www\.)?youtu\.be/([a-zA-Z0-9-_]+)@', $url, $matches);
            $code = $matches[1];
        }

        return $code;

    } 
}

아래는 적용모습!

728x90
반응형
반응형


lib/thumbnail.lib.php 파일 $is_crop=false 를 true로 하면 여백안생김.

// 게시글리스트 썸네일 생성
function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_create=false, $is_crop=false, $crop_mode='center', $is_sharpen=false, $um_value='80/0.5/3')
{

$is_crop=true 로 변경하면 여백안생김
수정 캐시지우는건

관리자페이지 > 환경설정 > 썸네일파일 일괄삭제 (//주석처리되있을수도)

함수자체 변경이아니라 사용할때만 변경하려면

$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height'], false, true);

여기서  false를 true로 변경해주면 됨

728x90
반응형

+ Recent posts