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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
최신글에 유튜브 썸네일 나오게 할려면

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 찍어보세요 잘 생성되는지..

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

 

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

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

회원로그인

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