갤러리 리스트에서 썸네일 불러오기 내용을 추가하고 싶습니다.

갤러리 리스트에서 썸네일 불러오기 내용을 추가하고 싶습니다.

QA

갤러리 리스트에서 썸네일 불러오기 내용을 추가하고 싶습니다.

본문

안녕하세요.

 

기존에 갤러리 리스트에서 썸네일 이미지를 아래와 같은 방식으로 불러오고 있습니다.

                        <?php
                        if ($list[$i]['is_notice']) { // 공지사항  ?>
                            <img src="<?php echo $board_skin_url ?>/img/notice.gif"  class="img-fluid">
                        <?php }else if($list[$i]['icon_secret']) { ?>
                            <img src="<?php echo $board_skin_url ?>/img/secret.gif"  class="img-fluid">
                        <?php } else {
                            $thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height'], false, true);
                            if($thumb['src']) {
                                $img_content = '<img src="'.$thumb['src'].'" class="img-fluid">';
                            } else if($list[$i]['wr_4']) {
                                $img_content = '<img src="'.$list[$i]['wr_4'].'" class="img-fluid1">';
                            } else {
                                 $img_content = '<img src="'.$board_skin_url.'/img/no_image.gif" alt="'.$list[$i]['wr_subject'].'">';
                            }
                            echo run_replace('thumb_image_tag', $img_content, $thumb);
                        }
                         ?>


여기에 아래 내용을 추가하고 싶은데 
제 실력으로는 잘 안되네요. 


    <?php                        
    $thumbnail_file = substr($list[$i]['wr_9'], 0, 4) == "http" ? $list[$i]['wr_9'] : substr(str_replace("/", "", str_replace("?v=", "", substr(explode("https://www.youtube.com/watch", $list[$i]['wr_content'])[1], 0, 21))), 0, 11);
    $thumbnail_file = substr($thumbnail_file, 0, 4) == "http" ? $thumbnail_file : "https://img.youtube.com/vi/".$thumbnail_file."/maxresdefault.jpg";
    echo strtolower(substr($thumbnail_file, -4)) == ".mp4" ? "<video class='thumbnail-img-mp4' src='".$thumbnail_file."' autoplay loop muted></video>" : "<img class='thumbnail-img-mp4' src='".$thumbnail_file."'>";
    ?>

 

가능하다면

                            } else {
                                 $img_content = '<img src="'.$board_skin_url.'/img/no_image.gif" alt="'.$list[$i]['wr_subject'].'">';

이거 앞부분에 넣고 싶습니다.


혹시 방법이 있을까요?

아시는 분 답변 주시면 정말 감사하겠습니다.

이 질문에 댓글 쓰기 :

답변 1

일단은

썸네일 함수처리 밑에  컨텐츠 초기화 해주고

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

$img_content = ''; 

그리고..

    $thumbnail_file = substr($list[$i]['wr_9'], 0, 4) == "http" ? $list[$i]['wr_9'] : substr(str_replace("/", "", str_replace("?v=", "", substr(explode("https://www.youtube.com/watch", $list[$i]['wr_content'])[1], 0, 21))), 0, 11);
    $thumbnail_file = substr($thumbnail_file, 0, 4) == "http" ? $thumbnail_file : "https://img.youtube.com/vi/".$thumbnail_file."/maxresdefault.jpg";
    echo strtolower(substr($thumbnail_file, -4)) == ".mp4" ? "<video class='thumbnail-img-mp4' src='".$thumbnail_file."' autoplay loop muted></video>" : "<img class='thumbnail-img-mp4' src='".$thumbnail_file."'>";
 $img_content = '<img src="'.$board_skin_url.'/img/no_image.gif" alt="'.$list[$i]['wr_subject'].'">';

위에다가 썸네일 이미지추가해주면됩니다.

 

 

친절하신 답변 감사합니다.
그런데, 알려주신 내용을 제가 잘 이해 못하겠습니다.


$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height'], false, true);
밑에 
$img_content = ''; 
를 넣고,



$img_content = '<img src="'.$board_skin_url.'/img/no_image.gif" alt="'.$list[$i]['wr_subject'].'">';
위에
 $thumbnail_file = substr($list[$i]['wr_9'], 0, 4) == "http" ? $list[$i]['wr_9'] : substr(str_replace("/", "", str_replace("?v=", "", substr(explode("https://www.youtube.com/watch", $list[$i]['wr_content'])[1], 0, 21))), 0, 11);
    $thumbnail_file = substr($thumbnail_file, 0, 4) == "http" ? $thumbnail_file : "https://img.youtube.com/vi/".$thumbnail_file."/maxresdefault.jpg";
    echo strtolower(substr($thumbnail_file, -4)) == ".mp4" ? "<video class='thumbnail-img-mp4' src='".$thumbnail_file."' autoplay loop muted></video>" : "<img class='thumbnail-img-mp4' src='".$thumbnail_file."'>";

를 넣으라는 말씀 같은데,
이렇게 하면 원하는대로 나오지 않습니다.

그리고...
제가 원하는건 기존 소스를 그대로 유지하면서

  <?php                        
    $thumbnail_file = substr($list[$i]['wr_9'], 0, 4) == "http" ? $list[$i]['wr_9'] : substr(str_replace("/", "", str_replace("?v=", "", substr(explode("https://www.youtube.com/watch", $list[$i]['wr_content'])[1], 0, 21))), 0, 11);
    $thumbnail_file = substr($thumbnail_file, 0, 4) == "http" ? $thumbnail_file : "https://img.youtube.com/vi/".$thumbnail_file."/maxresdefault.jpg";
    echo strtolower(substr($thumbnail_file, -4)) == ".mp4" ? "<video class='thumbnail-img-mp4' src='".$thumbnail_file."' autoplay loop muted></video>" : "<img class='thumbnail-img-mp4' src='".$thumbnail_file."'>";
    ?>

를 추가하고 싶습니다.

if ($list[$i]['is_notice']) { // 공지사항  ?>
    <img src="<?php echo $board_skin_url ?>/img/notice.gif"  class="img-fluid">
<?php } else if($list[$i]['icon_secret']) { ?>
    <img src="<?php echo $board_skin_url ?>/img/secret.gif"  class="img-fluid">
<?php } else {
    $thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height'], false, true);
   
    $img_content = '';

    if($thumb['src']) {
        $img_content = '<img src="'.$thumb['src'].'" class="img-fluid">';
    } else if($list[$i]['wr_4']) {
        $img_content = '<img src="'.$list[$i]['wr_4'].'" class="img-fluid1">';
    } else {
        $thumbnail_file = substr($list[$i]['wr_9'], 0, 4) == "http" ? $list[$i]['wr_9'] : substr(str_replace("/", "", str_replace("?v=", "", substr(explode("https://www.youtube.com/watch", $list[$i]['wr_content'])[1], 0, 21))), 0, 11);
        $thumbnail_file = substr($thumbnail_file, 0, 4) == "http" ? $thumbnail_file : "https://img.youtube.com/vi/".$thumbnail_file."/maxresdefault.jpg";

        $img_content = strtolower(substr($thumbnail_file, -4)) == ".mp4" ? "<video class='thumbnail-img-mp4' src='".$thumbnail_file."' autoplay loop muted></video>" : "<img class='thumbnail-img-mp4' src='".$thumbnail_file."'>";
    }

    $img_content = $img_content ? $img_content : '<img src="'.$board_skin_url.'/img/no_image.gif" alt="'.$list[$i]['wr_subject'].'">';

    echo run_replace('thumb_image_tag', $img_content, $thumb);
}

이렇게 해보세요

네. 감사합니다.
그런데, 지금 확인해보니
$img_content = $img_content ? $img_content : '<img src="'.$board_skin_url.'/img/no_image.gif" alt="'.$list[$i]['wr_subject'].'">';
부분이 정상적으로 작동이 안되고 있습니다.
아무것도 없으면 no_image.gif 가 나와야 하는데,

https://img.youtube.com/vi//maxresdefault.jpg
이런식으로 유튜브 .$thumbnail_file. 값이 없는 주소로 나오네요.

--------------------------------------------------------
아... 이부분 다른 방법으로 자체 해결하였습니다.
다시한번 감사드립니다.

$img_content = strtolower(substr($thumbnail_file, -4)) == ".mp4" ? "<video class='thumbnail-img-mp4' src='".$thumbnail_file."' autoplay loop muted></video>" : "<img class='thumbnail-img-mp4' src='".$thumbnail_file."'>";
    }
이부분을 다음과 같이 이렇게 수정해보세요
즉 다시 초기화하고
썸네일파일이 존재할경우 비디오 태크 파일이 실행되고 만약에 비디오 태그파일이없다면 이미지가 출력한다는거죠.

$img_content = '';

        if ($thumbnail_file && strtolower(substr($thumbnail_file, -4)) == ".mp4") {
            $img_content = "<video class='thumbnail-img-mp4' src='".$thumbnail_file."' autoplay loop muted></video>";
        } elseif ($thumbnail_file) {
            $img_content = "<img class='thumbnail-img-mp4' src='".$thumbnail_file."'>";
        }
    }
이렇게 수정해보세요

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

회원로그인

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