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

게시글 엑셀 다운로드시 첨부파일 이미지 채택완료

코딩초보 5년 전 조회 3,621

안녕하세요

다른건 전부 그누보드 찾아가면서 작업겨우했는데..

게시글을 엑셀로 다운받을때 문자는 잘 되는데... 첨부파일로 등록된 이미지 다운받는게 쉽지않네요..

하루종일 해보는데 힘드네요..

 

bf_file[0] 에 이미지를 저장시켜뒀거든요...

제가 개발자가 아니라.. ㅠㅠ흑흑

 

어떻게 처리할수있을까요?

https://sir.kr/g5_skin/14421?sfl=wr_subject%7C%7Cwr_content&stx=%EC%97%91%EC%85%80

아래스킨 이용해서 작업했습니다..

 

</p>
</p>

<p><?php

include_once('./_common.php');</p>

<p>$csv = 'xls';</p>

<p>// MS엑셀 XLS 데이터로 다운로드 받음

if ($csv == 'xls')

{

    

    if($_GET[stx]){

        $searches .= "and (wr_subject = '{$_GET[stx]}' or wr_content = '{$_GET[stx]}' or wr_1 = '{$_GET[stx]}' or wr_2 = '{$_GET[stx]}' or wr_3 = '{$_GET[stx]}'  or wr_3 = '{$_GET[stx]}'  or wr_3 = '{$_GET[stx]}')";

    }

    

    if($_GET[fr_date] && $_GET[to_date]){</p>

<p>        $fr_date_a = $_GET[fr_date]." 00:00:00";

        $to_date_a = $_GET[to_date]." 23:59:59";</p>

<p>        $searches .= "and (wr_datetime between '{$fr_date_a}' and '{$to_date_a}') ";

    }</p>

<p>    $sql = " SELECT * FROM g5_write_{$bo_table} where wr_is_comment = '0' {$searches}";

    $result = sql_query($sql);

    $cnt = @sql_num_rows($result);

    if (!$cnt)

        alert("출력할 내역이 없습니다.");</p>

<p>    /*================================================================================

    php_writeexcel <a href="http://www.bettina-attack.de/jonny/view.php/projects/php_writeexcel/" target="_blank" rel="noopener noreferrer">http://www.bettina-attack.de/jonny/view.php/projects/php_writeexcel/</a>

    =================================================================================*/</p>

<p>    include_once(G5_LIB_PATH.'/Excel/php_writeexcel/class.writeexcel_workbook.inc.php');

    include_once(G5_LIB_PATH.'/Excel/php_writeexcel/class.writeexcel_worksheet.inc.php');</p>

<p>    $fname = tempnam(G5_DATA_PATH, $board.".xls");

    $workbook = new writeexcel_workbook($fname);

    $worksheet = $workbook->addworksheet();</p>

<p>    // Put Excel data

    $data = array('No','날짜','이름','전화번호','주소','이미지');

    $data = array_map('iconv_euckr', $data);</p>

<p>    $col = 0;

    foreach($data as $cell) {

        $worksheet->write(0, $col++, $cell);

    }</p>

<p>

    for($i=1; $row=sql_fetch_array($result); $i++)

    {

        $row = array_map('iconv_euckr', $row);

        

        $up_date = date("y/m/d", strtotime($row['wr_datetime']));

         $worksheet->write($i, 0, $i);

         $worksheet->write($i, 1, $up_date);

         $worksheet->write($i, 2, $row['wr_2']);

         $worksheet->write($i, 3, $row['wr_3']);

         $worksheet->write($i, 4, $row['wr_4']);

         $worksheet->write($i, 5, $row['wr_5']);

    }</p>

<p>    $workbook->close();

    

    header("Content-charset=utf-8");

    header("Content-Type: application/x-msexcel; name=\"{$bo_table}-".date("ymd", time()).".xls\"");

    header("Content-Disposition: inline; filename=\"{$bo_table}-".date("ymd", time()).".xls\"");

    $fh=fopen($fname, "rb");

    fpassthru($fh);

    unlink($fname);</p>

<p>    exit;

}</p>

<p>if (sql_num_rows($result) == 0)

{

    echo "<script>alert('출력할 내역이 없습니다.'); window.close();</script>";

    exit;

}

?></p>

<p>

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

답변 1개

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

엑셀 다운로드와 이미지를 동시에 받을 수는 없을 것입니다.

제가 생각하는 방법은 엑셀에 하이퍼링크를 걸면 어떨까요?

인터넷만 연결되면 이미지 파일을 볼수도 있고 우측 마우스 클릭으로 수동 다운로드도 가능할 것 같습니다.

 

예를들면

No. 날짜 이름 전화번호 이미지
10 2020-04-24 홍길동 010-1234-5678

 

엑셀 파일 작성하는 소스에 경로만 넣으시면 될 것 같습니다.

개인적 의견입니다. 참고하시구요...

원하시는 기능을 잘 구현해내시길 바랍니다.

 

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

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

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

로그인