첨부파일로 mp3 및 mp4 넣기 > 그누보드5 팁자료실

그누보드5 팁자료실

첨부파일로 mp3 및 mp4 넣기 정보

첨부파일로 mp3 및 mp4 넣기

본문

첨부파일로 mp3 사운드나 mp4 동영상을 넣는 팁입니다.

첫번째 첨부파일로 mp3 나 mp4 를 업로드 해주면 되겠습니다.

 

view.skin.php 에서 아래 부분을 찾습니다.

 

<div id="bo_v_con">

 

그 상단에 아래의 코드를 붙여넣기 합니다. pc 와 모바일 모두 그렇게 해 주세요.

 


<?php
if ($view['file'][0]['file']) {
    $mp_percent = 100;
    $mp34_file = $view['file'][0]['path']."/".$view['file'][0]['file'];
    $mp34_type = substr($mp34_file, -1) == 4 ? "video" : "audio";
    echo "
        <script>
        document.write('<div id=mp34Player style=text-align:center></div>');
        mp34Player.innerHTML = '<$mp34_type style=width:' + $mp_percent + '%;margin-left:' + (100 - $mp_percent) / 2 + '%;display:block src=$mp34_file controls loop controlsList=nodownload></$mp34_type>';
        </script>
    ";
}
?>

 

여기서 $mp_percent = 100; 는 가로 퍼센트값이니...

여분필드를 하나 만들어서 게시글마다 원하는 가로 퍼센테이지로 설정을 해 주세요.

세로는 알아서 가로에 맞추어져 먹습니다.

 

$mp_percent = 여분필드_1;

 

만일 mp3 나 mp4 를 올리지 않고 이미지나 다른 파일만 올릴 때는...

1번 파일은 업로드하지 말고 2번파일부터 업로드하면 되겠습니다.

 

---------------------

 

2021년 7월 30일 오전 11시 30분에

 

미디어의 가로 퍼센트값을 여분필드로 등록하는 방법을 1번 여분필드를 사용하여 추가로 올립니다.

미디어 위치(좌측, 중앙, 우측) 옵션도 2번 여분필드에 라디오버튼으로 선택하게 하였습니다.

write.skin.php <div class="write_div"> 의 상단에 아래처럼 기입합니다.

 


<div><input type=text class="frm_input full_input required" name=wr_1 value="<?php echo $write['wr_1']; ?>" placeholder=가로%></div>
<div class="frm_input full_input" style=display:flex;align-items:center;margin-top:10px>
    <input type=radio name=wr_2 value="left"<?php echo ($write['wr_2'] == "left") ? " checked" : ""; ?> required>좌측형
    <input type=radio name=wr_2 value="center"<?php echo ($write['wr_2'] == "center") ? " checked" : ""; ?> required style=margin-left:5px>중앙형
    <input type=radio name=wr_2 value="right"<?php echo ($write['wr_2'] == "right") ? " checked" : ""; ?> required style=margin-left:5px>우측형
</div>

 

view.skin.php <div id="bo_v_con"> 의 상단에 아래처럼 기입합니다.

 


<?php
if ($view['file'][0]['file']) {
    $mp_percent = $view['wr_1'];
    $mp_align = $view['wr_2'];
    if ($mp_align == "left") $mp_margin = 0;
    else if ($mp_align == "right") $mp_margin = 100 - $mp_percent;
    else $mp_margin = (100 - $mp_percent) / 2;
    $mp34_file = $view['file'][0]['path']."/".$view['file'][0]['file'];
    $mp34_type = substr($mp34_file, -1) == 4 ? "video" : "audio";
    echo "
        <script>
        document.write('<div id=mp34Player></div>');
        mp34Player.innerHTML = '<$mp34_type style=width:' + $mp_percent + '%;margin-left:' + $mp_margin + '%;display:block src=$mp34_file controls loop controlsList=nodownload></$mp34_type>';
        </script>
    ";
}
?>
추천
12

댓글 12개

유용하고, 다양하게 활용 될 수있는 소스를 공개해주셔서 감사드립니다.
자유게시판이나 갤러리에 mp3파일을 넣어주니까 글을 읽으면 음악을 들을 수있어서 너무 좋습니다.
$mp_percent = 100; 이것은 업로드한 모든 것이 가로 100%로 나오는코드인데요.

말씀하신 것 처럼 개개의 mp3, mp4파일 마다 크기를 다르게 하려면 글쓰기에서 여분필드를 사용하면 된다고 하셨는데요.

view.skin.php에서
$mp_percent = "wr_1"; 으로 변경해주고,

write.skin.php에서 다음 코드를 추가했는데, mp3, 4 파일이 나오지 않습니다. 어디가 잘못 된 것인지요^^
<!-- mp3,4 가로폭넣기 시작 -->
    <div class="bo_w_tit write_div">

        <label for="wr_1" class="sound_only">가로폭<strong>필수</strong></label>

            <input type="text" name="wr_1" value="<?php echo $wr_1 ?>" id="wr_1" required class="frm_input full_input required" size="50" maxlength="255" placeholder="가로폭 100이내에서 넣으세요.">

    </div>
<!-- mp3,4 가로폭넣기 끝 -->

그림은 갤러리에 소스를 적용해본 것입니다.
http://pws.co.kr/bbs/board.php?bo_table=gallery_mp34&wr_id=6

<input type=text name=wr_1 value="김철용 만만세">

위와 같이 주었으면 "김철용 만만세" 라는 문자열이 일반적으로 bbs/write_update.php 를 통하여 db에 저장 됩니다.
경우에 따라서는 스킨 안에 write_update.skin.php 이나_write_update.tail.skin.php 라는 파일을 본인이 만들어 저장시키거나 아니면 5.4 버전 부터는 hook 파일을 하나 만들어서 저장시켜도 되구요.

어쨌거나 이 여분필드를 호출하려면...

write.skin.php 에서는 $write['wr_1']
view.skin.php 에서는 $view['wr_1']
list.skin.php 에서는 $list['wr_1']

로 호출합니다. 단지 리스트에서는 게시글 갯수대로 여러 개의 값이 나오기 때문에 그누에서 정의한 루프문의 형태대로 $list[$i]['wr_1']; 으로 호출합니다.

이걸 프론트에서 보여지게 하려면 echo 를 사용하여 아래처럼 쓰는 것이구요.

write.skin.php 에서는 <?php $write['wr_1']: ?>
view.skin.php 에서는 <?php $view['wr_1']; ?>

따라서 $mp_percent = "wr_1"; 이 아니라 $mp_percent = $view['wr_1']; 이 맞습니다.

참고로 id=wr_1 는 프론트 안에서 자바스크립트를 통하여 차이점을 만드는 것이라 그 값이 서버로 넘어가진 읺습니다.
name=wr_1 을 주고 submit 를 시켜줘야 form 기능을 통하여 bbs/write_update.php 를 거쳐서 비로소 db 로 넘어갑니다.
자세한 설명에 감사드립니다. 저같은 아마추어에게는 큰 도움이 됩니다.
코드에 여분필드로 크기, 위치조절 하는 것을 추가해주셨네요. 감사합니다.^^
전체 61 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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