pdf 파일 다운로드 기능

pdf 파일 다운로드 기능

QA

pdf 파일 다운로드 기능

본문

https://sir.kr/g5_skin/45146 을 참조하여 . 

스킨을 적용했습니다만..

pdf 문서가 보이기는 하지만..

첨부된 파일이 본문 contents 아래에 보여야 하는데. 

소스도 문제가 없는데 안보이네요 ㅜㅜ

회원권한은 1 으로 . 비회원 설정입니다. ㅜㅜ

 

1893477146_1709181597.4712.png

 

위 이미지처럼 . . 파일명과  다운로드 텍스트 자체가 안보이네요 ㅜㅜ

 

   <!-- 첨부파일 시작 { -->
    <section id="bo_v_file">  <!-- style=display:none> -->
        <h2>첨부파일</h2>
        <ul>
        <?php
        // 가변 파일
        for ($i=0; $i<count($view['file']); $i++) {
            if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
         ?>
            <li>
                   <i class="fa fa-folder-open" aria-hidden="true"></i>
                <a href="<?php echo $view['file'][$i]['href'];  ?>" class="view_file_download">
                    <strong><?php echo $view['file'][$i]['source'] ?></strong> <?php echo $view['file'][$i]['content'] ?> (<?php echo $view['file'][$i]['size'] ?>)
                </a>
                <br>
                <span class="bo_v_file_cnt"><?php echo $view['file'][$i]['download'] ?>회 다운로드 | DATE : <?php echo $view['file'][$i]['datetime'] ?></span>
            </li>
        <?php
            }
        }
         ?>
        </ul>
    </section>
    <!-- } 첨부파일 끝 -->

 

이 질문에 댓글 쓰기 :

답변 7

값을 먼저 가져와야 무언가 나올겁니다.

왜 안가져오는지.../bbs/view.php 확인 해보시면 조금더 자세히 알수 있지 않을까 생각됩니다.
혹은 bbs/view.php 의 쿼리문중 배열을 만드는 쿼리가 있을겁니다.

$view 로 해서 배열 만드는 영역의 쿼리를 찍어서 직접 DB에 값을 넣어 왜 안가져오는건지 체킹 해보시면 해답이 되실것 같습니다.^^

보통 배열을 만드는 쿼리는 view.php, list.php 같은곳에서 만들고...
그 배열을 view.skin.php 나 list.skin.php 에서 사용합니다.
그러니 view.php 같은 곳에서 쿼리를 찍어보시는것이...

[file] => Array
        (
            [count] => 4
            [0] => Array
                (
                    [href] => 도메인/bbs/download.php?bo_table=webzine&wr_id=17&no=0
                    [download] => 0
                    [path] => 도메인/data/file/webzine
                    [size] => 177.9K
                    [datetime] => 2024-03-05 14:57:33
                    [source] => 2024여성초청공문리더십세미나.pdf
                    [bf_content] =>
                    [content] =>
                    [view] =>
                    [file] => 1893477146_mEA26K59_22bbd0c70516650fecc67e078781faaa1085baed.pdf

아..  이런식으로 나오는군여...
그렇다면...
해당 스킨 view.skin.php  에서는...

        <?php
        // 파일 출력
        $v_img_count = count($view['file']);

        if($v_img_count) {
          echo "<div id=\"bo_v_img\" style=display:none>\n";
          // echo "<div id=\"bo_v_img\">\n";

            foreach($view['file'] as $view_file) {
                echo get_file_thumbnail($view_file);
            }

            echo "</div>\n";

        }
        ?>

<?php
$viewer_url = $view['file'][0]['path']."/".$view['file'][0]['file'];
$viewer_ppt = "https://view.officeapps.live.com/op/embed.aspx?src=".$viewer_url;
$viewer_pdf_pc = $viewer_url;
$viewer_pdf_mobile = "https://docs.google.com/gview?url=".$viewer_url."&embedded=true";
$viewer_file = $view['wr_1'] == "ppt" ? $viewer_ppt : $viewer_pdf_pc; 
?>
<style>
#viewerDiv { position:relative; height:0px; overflow:hidden; max-width:100%; padding-bottom:<?php echo $view['wr_2']; ?>%; }
#viewerIframe { position:absolute; top:0px; left:0px; width:100%; height:100%; display:block; }
</style>
<div id=viewerDiv style=width:100%><iframe id=viewerIframe src=<?php echo $viewer_file; ?> frameborder=0></iframe></div>

        <!-- 본문 내용 시작 { -->
        <div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>
<?php if ($view['wr_10'] == "no") echo "<script>bo_v_con.innerHTML='';bo_v_con.style.display='none'</script>"; ?>
        <?php //echo $view['rich_content']; // {이미지:0} 과 같은 코드를 사용할 경우 ?>
        <!-- } 본문 내용 끝 -->


형태로 되어 있어서 첨부된 파일이 나와야 하는데. 왜 안나올까요?
content 즉.  에디터에서 사진 첨부한 것은 본문내용이라 나오기는 하는데요 ㅜㅜ

정확하게 에디터로 넣은 첨부파일을
view 페이지에 에디터가 아닌 공간에서 내려 받기라던지..기능을 쓰고 싶다는건가요??
데이터를 정상적으로 가져온다면 문제가 되지 않을것같은데..

조금 수정하면 문제는 없이 잘 될것같긴 합니다.

 

[file] => Array
        (
            [count] => 4
            [0] => Array
                (
                    [href] =

에서 이미 카운트는 되어 있으니...

        <?php
        // 파일 출력
        //$v_img_count = count($view['file']);
        $v_img_count = $view['file']['count'];

        if($v_img_count > 0) {
          echo "<div id=\"bo_v_img\" style=display:none>\n";
          // echo "<div id=\"bo_v_img\">\n";

            foreach($view['file'] as $view_file) {
                echo get_file_thumbnail($view_file);
            }

            echo "</div>\n";

        }
        ?>

위 소스 외 실제 소스를 봐야 알것같네요..

이미 여러군데 수정하신건가요??

 

첨부파일이 나오는 공간의 소스도 봐야 할것같고...

원격같은걸로 도와드릴수도 있고...
무언가 소스를 오픈하시기 힘드시면 작업 의뢰를 추천드려요.

 

음...  bbs/view.php가 아닌... 
특정한 스킨이 있어요.. 그 스킨을 사용하고 있는데...

bbs/view.php에 쿼리 소스에는 첨부파일 관련 내용이 없고..
특정스킨의 skin/webzine 내에 .. 에디터로 올린 파일이 아니라...
첨부파일로 올린 파일을.... 
view.skin.php에서...    contenst 바로 아래에 ...

파일명  다운로드    형태로

다운로드 하려고 합니다...
(이글 맨 원본글에 있는 그림처럼 하고 싶은겁니다)

보통 일반 게시판에서는 첨부파일이  파일명 다운로드 가능토록 되어 있는데...
지금 특정한 스킨에서만 안되는겁니다.
그런데 소스는 수정된게 없이 동일합니다.

실제 소스 수정한거 없어요..
어디 소스를 올려 드릴까요?

사용하시는 스킨의 view.skin.php 에서 해당 첨부파일이 나타나는 퍼블리싱 영역과 그를 감싸는 프로그램 영역을
쉽게 for 문으로 돌테니..for 문에서 부터 for 문 끝나는데까지 영역이요

별도의 스킨이지만 . 비교해보면.
기본 첨부파일 이더라구요.
========================= 


<?php
    $cnt = 0;
    if ($view['file']['count']) {
        for ($i=0; $i<count($view['file']); $i++) {
            if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view'])
                $cnt++;
        }
    }
?>

    <?php if($cnt) { ?>
    <!-- 첨부파일 시작 { -->
    <section id="bo_v_file">
        <h2>첨부파일</h2>
        <ul>
        <?php
        // 가변 파일
        for ($i=0; $i<count($view['file']); $i++) {
            if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
        ?>
            <li>
              <i class="fa fa-folder-open" aria-hidden="true"></i>
                <a href="<?php echo $view['file'][$i]['href'];  ?>" class="view_file_download">
                    <strong><?php echo $view['file'][$i]['source'] ?></strong> <?php echo $view['file'][$i]['content'] ?> (<?php echo $view['file'][$i]['size'] ?>)
                </a>
                <br>
                <span class="bo_v_file_cnt"><?php echo $view['file'][$i]['download'] ?>회 다운로드 | DATE : <?php echo $view['file'][$i]['datetime'] ?></span>
            </li>
        <?php
            }

        }
        ?>
        </ul>
    </section>
    <!-- } 첨부파일 끝 -->
    <?php } ?>

아..테스트 필요가 없네요..
아까 주신 print 된 값을 볼 경우 view 값이 빈값입니다.

즉 $view['file'][$i]['view'] 값이 없어 읽히지 않는것이니...

원본은 주석 후 밑에 복사 값으로 수정하시기 바랍니다.

즉, 

 

<?php
    $cnt = 0;
    if ($view['file']['count']) {
        for ($i=0; $i<count($view['file']); $i++) {
            //if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view'])
            if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'])
                $cnt++;
        }
    }
?>

    <?php if($cnt) { ?>
    <!-- 첨부파일 시작 { -->
    <section id="bo_v_file">
        <h2>첨부파일</h2>
        <ul>
        <?php
        // 가변 파일
        for ($i=0; $i<count($view['file']); $i++) {
            //if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
        if (isset($view['file'][$i]['source']) && $view['file'][$i]['source']) {
        ?>
            <li>
              <i class="fa fa-folder-open" aria-hidden="true"></i>
                <a href="<?php echo $view['file'][$i]['href'];  ?>" class="view_file_download">
                    <strong><?php echo $view['file'][$i]['source'] ?></strong> <?php echo $view['file'][$i]['content'] ?> (<?php echo $view['file'][$i]['size'] ?>)
                </a>
                <br>
                <span class="bo_v_file_cnt"><?php echo $view['file'][$i]['download'] ?>회 다운로드 | DATE : <?php echo $view['file'][$i]['datetime'] ?></span>
            </li>
        <?php
            }

        }
        ?>
        </ul>
    </section>
    <!-- } 첨부파일 끝 -->
    <?php } ?>

 

로 교체 해보세요.

ㅜㅜㅠ 이젠 첨부파일도 표시가 나오지 않지만.. content 파일도 안나와요.
즉, 에디터 안에서의 이미지도 나오지 않아요. 그래서 .view 는 존재하는게 맞는거 같음...ㅜㅜ

<?php
    $cnt = 0;
    if ($view['file']['count']) {
        for ($i=0; $i<count($view['file']); $i++) {
            if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view'])
                $cnt++;
        }
    }
?>

    <?php if($cnt) { ?>
    <!-- 첨부파일 시작 { -->
    <section id="bo_v_file">
        <h2>첨부파일</h2>
        <ul>
        <?php
        // 가변 파일
        for ($i=0; $i<count($view['file']); $i++) {
            //if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
        if (isset($view['file'][$i]['source'])) {
        ?>
            <li>
              <i class="fa fa-folder-open" aria-hidden="true"></i>
                <a href="<?php echo $view['file'][$i]['href'];  ?>" class="view_file_download">
                    <strong><?php echo $view['file'][$i]['source'] ?></strong> <?php echo $view['file'][$i]['content'] ?> (<?php echo $view['file'][$i]['size'] ?>)
                </a>
                <br>
                <span class="bo_v_file_cnt"><?php echo $view['file'][$i]['download'] ?>회 다운로드 | DATE : <?php echo $view['file'][$i]['datetime'] ?></span>
            </li>
        <?php
            }

        }
        ?>
        </ul>
    </section>
    <!-- } 첨부파일 끝 -->
    <?php } ?>

 

이러게 바꿔보죠

네..  새로고침하고. 재부팅하고. 쿠키삭제해봐도 . 안나오네요 ㅜㅜ
분명히 파일은 따라오는거 같은데...
희안하네

실제 내용에서.
<a href="<?php echo $view['file'][$i]['href'];  ?>" class="view_file_download">
                    <strong><?php echo $view['file'][$i]['source'] ?></strong> <?php echo $view['file'][$i]['content'] ?> (<?php echo $view['file'][$i]['size'] ?>)
                </a>

다운로드 가능한 파일명  다운로드  ....이 부분만 나오면 되는데 ㅜㅜ

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

회원로그인

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