최신글에 유튜브 썸네일 나오게 할려면

최신글에 유튜브 썸네일 나오게 할려면

QA

최신글에 유튜브 썸네일 나오게 할려면

본문

최신글에서 유튜브 썸네일 나오게 할려면 어찌 해야 할까요?

외부 이미지 나오게 해 놓았더니 이제는 유튜브 이미지가 나오지 않아서요.

소스 좀 봐 주실래요?

 



<a href="<?php echo $list[$i]['href'] ?>" class="gall_img"><?php
    $v = "";
    $mov_link = "";
    $img_content = "";
    $mov_link = $list[$i]['wr_10'];
    $youtube_url = parse_url($mov_link);
    parse_str($youtube_url['query']);
    if($v){
    $img_content = '<img src="'.get_yt_thumb( 'http://youtu.be/'.$v, 'maxres' ).'" alt="'.$list[$i]['subject'].'" width="'.$thumb_width.'" height="'.$thumb_height.'" />';
    }
    
    if(!$img_content) {
    $img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
    }                            
    $thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);
    
   if($thumb['src']) {
      $img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" width="'.$board['bo_gallery_width'].'" height="'.$board['bo_gallery_height'].'">';
        //    외부 이미지 썸네일 만들기 {
    } else if($url_img = get_editor_image($list[$i]['wr_content'])){
        $img_src = $url_img[1][0];
        preg_match("/src=[\'\"]?([^>\'\"]+[^>\'\"]+)/i", $img_src, $m);
        $src = htmlspecialchars_decode($m[1]);
        preg_match("/alt=[\"\']?([^\"\']*)[\"\']?/", $img_src, $m);
        $alt = get_text($m[1]);
        $filename =  hash("sha256", $src);
        $source_path = $target_path = G5_DATA_PATH.'/file/'.$bo_table;
        $file_download = $target_path."/".$filename;
        if (!file_exists($file_download)) {
            copy($src, $file_download);
        }
        $thumb_src = thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_height, false, true);
        
        $img_content = '<img src="'.G5_DATA_URL.'/file/'.$bo_table.'/'.$thumb_src.'" alt="'.$alt.'" >';
    //    } 외부 이미지 썸네일 만들기
   } else {
      $img_content = '';
    }
    if($thumb['src']) {
        $img_content = '<span style="width:'.$thumb_width.'px;height:'.$thumb_height.'px"><img src="'.$img.'" alt="'.$thumb['alt'].'" ></span>';
    }
        
    echo $img_content;
?></a>

이 질문에 댓글 쓰기 :

답변 3

유튜브 id 값만 추축해서 해당 주소에

http://i.ytimg.com/vi/ 유튜브ID /0.jpg

 

이렇게 반영해 주시면 해당 썸네일 확인이 가능합니다.

최신글 추출하는 소스 상단에 아래 소스가 들어가 있는데 썸네일이 안 나와서 그렇습니다.



<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
$thumb_width = 320;
$thumb_height = 180;

if ( ! function_exists( 'get_video_id' ) )
{
    function get_video_id( $str )
    {
        if( substr( $str, 0, 4 ) == 'http' )
        {
            if( strpos( $str, 'youtu.be' ) )
            {
                return array_pop( explode( '/', $str ) );
            }
            else if( strpos( $str, '/embed/' ) )
            {
                return array_pop( explode( '/', $str ) );
            }
            else if( strpos( $str, '/v/' ) )
            {
                return array_pop( explode( '/', $str ) );
            }
            else
            {
                $params = explode( '&', array_shift( explode( '#', array_pop( explode( '?', $str ) ) ) ) );
                foreach( $params as $data )
                {
                    $arr = explode( '=', $data );
                    if( $arr[ 0 ] == 'v' )
                    {
                        return $arr[ 1 ];
                    }
                }
            }
        }
        else
        {
            return $str;
        }
 
        return '';
    }
}
 
if ( ! function_exists( 'get_yt_thumb' ) )
{
    function get_yt_thumb( $url_or_id, $type )
    {
        switch( $type )
        {
            case '0' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/0.jpg';
                break;
            case '1' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/1.jpg';
                break;
            case '2' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/2.jpg';
                break;
            case '3' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/3.jpg';
                break;
            case 'hq' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/hqdefault.jpg';
                break;
            case 'mq' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/mqdefault.jpg';
                break;
            case 'sd' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/sddefault.jpg';
                break;
            case 'maxres' :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/maxresdefault.jpg';
                break;
            default :
                return '//img.youtube.com/vi/'.get_video_id( $url_or_id ).'/default.jpg';
        }
    }
}
?>

상단에서 유튭 이미지를 생성 후 해당 이미지 변수에 데이터가 덮어써지는거 같은데..

유튭 이미지 생성 후 echo 찍어보세요 잘 생성되는지..

그리고 언제 덮어쓰거나 초기화 되는지 확인해가면서 포인트를 찾아가보세요

 

추적해가야 하는데 상상만으로는 확답드리기는 어렵겠네요.. 하나하나 찾아가보시면 답 나올겁니다.

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

회원로그인

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