테스트 사이트 - 개발 중인 베타 버전입니다

안녕하세요 유튜브 영상 관련 질문 드립니다. 채택완료

꿈의세계 3년 전 조회 3,199

안녕하세요

현제 제가 최신글을 통해서 메인 슬라이드를 만들고 있는데요

이미지를 올리게 되면 이미지가 나오게 하고 유튜브 주소를 넣게 되면 유튜브 영상이 자동으로 재생이 되게 하고 싶어서 이렇게 문의 드립니다.

현제 해당 게시판 DB테이블에 wr_movie_url 추가가 되어 있습니다. 글쓰기 시 유튜브 주소를 넣게 되면 리스트페이지에서는 섬네일 이미지가 나오게 되고 

view페이지로 들어가게 되면 유튜브 영상이 나오게 됩니다.

문제는 아래와 같이 하게 되면 이미지는정상적으로 나오는데 유튜브는 어떻게 넣어야 할지 잘 몰라서 이렇게 여줘 봅니다.

해당 게시판에 게시글 들어가보면 뷰페이지에 유튜브 영상이 나오는데 이게 iframe으로 되어 있는 것으로 보아 iframe으로 적용을 해야 하는지 의문 입니다.

전문가분들의 도움이 좀 필요 합니다.

제가 할 수 있는게 이게 한개인가봐요

더 공부를 해야 겠지만 만만치가 않아서요

고수님들의 조언 부탁 드립니다.

 

</strong></p>

<p><strong><?</strong></p>

<p><strong>     for ($i=0; $i<count($list); $i++) {</strong></p>

<p><strong>          if($list[$i][wr_thumb]){</strong></p>

<p><strong>               $thumb[src]=$list[$i][wr_thumb];</strong></p>

<p><strong>               $thumb[ori]=$thumb[src];</strong></p>

<p><strong>          }</strong></p>

<p><strong>          else{</strong></p>

<p><strong>               $thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $bo_gallery_width, $bo_gallery_height, false, true);</strong></p>

<p><strong>          }</strong></p>

<p><strong>          $date=date("m-d",strtotime($list[$i]['wr_datetime']));

          $list[$i][content]=cut_str(strip_tags($list[$i][content]),150);</strong></p>

<p>          <strong>if($thumb['src']){

               echo "<img src='$thumb[src]' class='img-fluid' style='width:100%;'>";</strong></p>

<p><strong>          }

          else{</strong></p>

<p><strong>               echo "<img src='$latest_skin_url/noimage.png' class='img-fluid' style='width:100%;'>";

          }    </strong></p>

<p><strong>?></strong></p>

<p> <strong>

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
e
3년 전

아래와 같이 iframe 으로 하셔야하구요..

일반적으로는 유튜브 코드만 저장을 합니다.

url 로 저장한 경우, explode 로 배열에 저장해서 처리했습니다.

예) https://www.youtube.com/watch?v=코드

</p>

<p>if($list[$i]['wr_movie_url']) { </p>

<p>  $movie_code = explode("watch?v=", $list[$i]['wr_movie_url']);</p>

<p>  echo '<iframe width="560" height="315" src="<a href="https://www.youtube.com/embed/'.$movie_code[1].'"" target="_blank" rel="noopener noreferrer">https://www.youtube.com/embed/'.$movie_code[1].'"</a> title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>';</p>

<p>}</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

꿈의세계
3년 전
덕분에 잘 해결 하였습니다. 감사 드립니다.
꿈의세계
3년 전
안녕하세요 질문 하나 더 드려도 될까요
아래 코드에 보면
if($thumb['src']){
echo "<img src='$thumb[src]' class='img-fluid' style='width:100%;'>";
}
위 부분은 이미지를 가져오는 것이고
if($list[$i]['wr_movie_url']) {
$movie_code = explode("watch?v=", $list[$i]['wr_movie_url']);
echo "<iframe width='100%' height='100%' style='background:#000; color:#fff' src='https://www.youtube.com/embed/$movie_code[1]?rel=0&amp;controls=0&amp;showinfo=0&autoplay=1&mute=1' frameborder='0' border=0 scrolling=no allowfullscreen></iframe>";
}
위 소스는 선생님이 작성 해주신 것인데요
위 처름 그냥 if로 하니 두개가 같이 나오더라구요
그래서 에디터를 통해서 이미지를 올리게 되면 이미만 나오고
이 부분에 영상을 올리게 되면 영상이 나오게 하고 싶습니다.
혹시 몰라서 쪽지로 사이트 주소 보내 드립니다.
죄송합니다. 너무 힘들게 해드리는 것 같아서요

[code]
if($thumb['src']){
echo "<img src='$thumb[src]' class='img-fluid' style='width:100%;'>";
}
if($list[$i]['wr_movie_url']) {
$movie_code = explode("watch?v=", $list[$i]['wr_movie_url']);
echo "<iframe width='100%' height='100%' style='background:#000; color:#fff' src='https://www.youtube.com/embed/$movie_code[1]?rel=0&amp;controls=0&amp;showinfo=0&autoplay=1&mute=1' frameborder='0' border=0 scrolling=no allowfullscreen></iframe>";
}
else{
echo "<img src='$latest_skin_url/noimage.png' class='img-fluid' style='width:100%;'>";
}
[/code]
e
eyekiss
3년 전
[code]
if($thumb['src']){
echo "<img src='$thumb[src]' class='img-fluid' style='width:100%;'>";
} else
if($list[$i]['wr_movie_url']) {
$movie_code = explode("watch?v=", $list[$i]['wr_movie_url']);
echo "<iframe width='100%' height='100%' style='background:#000; color:#fff' src='https://www.youtube.com/embed/$movie_code[1]?rel=0&amp;controls=0&amp;showinfo=0&autoplay=1&mute=1' frameborder='0' border=0 scrolling=no allowfullscreen></iframe>";
}
else{
echo "<img src='$latest_skin_url/noimage.png' class='img-fluid' style='width:100%;'>";
}
[/code]

댓글을 작성하려면 로그인이 필요합니다.

유튜브의 썸네일 이미지주소는 아래와 같습니다.

 

https://img.youtube.com/vi/유튜브아이디/mqdefault.jpg

 

따라서 유튜브를 사용하면 이미지주소로 위의 경로를 쓰고

유튜브를 사용하지 않으면 이미지주소로 $thumb[src] 를 쓴다는 이프문을 걸어주시면 됩니다.

https://sir.kr/g5_skin/48340 의 list.skin.php 의 코드를 한번 살펴보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인