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

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

QA

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

답변 1

본문

안녕하세요.

 

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

                        <?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."'>";
        }
    }
이렇게 수정해보세요

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 303
© SIRSOFT
현재 페이지 제일 처음으로