게시글 엑셀다운 후 원본파일명 또는 임의 파일명으로 다운받는 방법
본문
아래 게시판 글 엑셀파일 다운 소스입니다.
게시글에 등록된 첨부파일 경로(url)도 추가하고 싶어서
질문 올렸는데 정말 감사하게도, myzone님께서 도움을 주셔서
파일경로까지는 추가해서 현재 업로드한 파일을 다운로드까지는 됩니다.
다만 엑셀에서 해당 첨부파일 url을 클릭해서 파일을 다운받을 때
원본 파일명이 아닌 "암호화 파일명" 그대로 다운이 됩니다.
다운받은 파일명 : 4134e25e31381b6b6666fb3262fb0a11_3lNYPzu0_d6bd3b365bb2d32bcc13603a484c4f809fd4b110
게시판 view.php 처럼 파일명 url 클릭하면, 암호화 형태가 아닌 원본 파일명 형태로 받을 수 있을까요?
혹시 안된다면.. $row['wr_name'] 같은걸로 임의로 바꿔서라도 다운받을 수 있으면 좋겠습니다.
알기쉽게 코드예제 부탁드립니다.
고수님들 답변 꼭 부탁드립니다. ㅜㅜ
도움을 주시는 분들께 진심으로 감사드립니다.
감사합니다.
-------------------------------------------------------
<?php
include_once('_common.php');
echo '<meta charset="utf-8">';
$sql = " select
bo_subject
from g5_board A
where 1 = 1
and bo_table = '{$bo_table}'
";
$title = sql_fetch($sql);
$sql = " select
A.*
from g5_write_{$bo_table} A
where 1 = 1
order by wr_datetime desc
";
$result = sql_query($sql);
header("Content-Type: application/vnd.ms-excel");
header("Content-Type: application/x-msexcel");
header("Content-Disposition: attachment; filename={$bo_table}.xls");
header("Content-Description: PHP4 Generated Data" );
header("Content-charset=utf-8");
?>
<html>
<head>
<style>
.sty { font-family:굴림; font-size:12px;}
.sty0 { font-family:굴림; font-size:12px; text-align:center;}
.sty1 {mso-number-format:"\@";font-family:굴림; font-size:12px}
.sty2 {font-family:굴림; font-size:12px}
.sty3 {font-family:굴림; font-size:12px; color: #ff0000}
.title {font-family:굴림; font-size:12px; font-weight:600}
.title_s {font-family:굴림; font-size:16px}
</style>
</head>
<body bgcolor="#FFFFFF">
<table border="1" style="table-layout:fixed">
<tr>
<td colspan="17" class="title"><?php echo $title['bo_subject'];?></td>
</tr>
<tr align="center">
<td bgcolor="#CCFFCC">순번</td>
<td bgcolor="#CCFFCC">등록일자</td>
<td bgcolor="#CCFFCC">등록자</td>
<td bgcolor="#CCFFCC">제목</td>
<td bgcolor="#CCFFCC">내용</td>
<td bgcolor="#CCFFCC">이메일</td>
<td bgcolor="#CCFFCC">등록아이피</td>
<td bgcolor="#CCFFCC">추가필드1</td>
<td bgcolor="#CCFFCC">추가필드2</td>
<td bgcolor="#CCFFCC">추가필드3</td>
<td bgcolor="#CCFFCC">추가필드4</td>
<td bgcolor="#CCFFCC">추가필드5</td>
<td bgcolor="#CCFFCC">추가필드6</td>
<td bgcolor="#CCFFCC">추가필드7</td>
<td bgcolor="#CCFFCC">추가필드8</td>
<td bgcolor="#CCFFCC">추가필드9</td>
<td bgcolor="#CCFFCC">추가필드10</td>
</tr>
<?php
for ($i=0; $row=sql_fetch_array($result); $i++) {
//myzone 님의 답변
$file = get_file($bo_table, $row['wr_id']);
for($k=0; $k< $file['count']; $k++){
$fileurl = $file[$k]['path']."/".$file[$k]['file'];
echo '<a href="'.$fileurl.'">다운로드</a>';
}
?>
<tr>
<td class="sty1"><?php echo ($i + 1);?></td>
<td class="sty1"><?php echo substr($row['wr_datetime'], 0, 11);?></td>
<td class="sty1"><?php echo $row['wr_name'] . ' (' . $row['mb_id'] . ')' ;?></td>
<td class="sty1"><?php echo $row['wr_subject'];?></td>
<td class="sty1"><?php echo strip_tags($row['wr_content']);?></td>
<td class="sty1"><?php echo $row['wr_email'];?></td>
<td class="sty1"><?php echo $row['wr_ip'];?></td>
<td class="sty1"><?php echo $row['wr_1'];?></td>
<td class="sty1"><?php echo $row['wr_2'];?></td>
<td class="sty1"><?php echo $row['wr_3'];?></td>
<td class="sty1"><?php echo $row['wr_4'];?></td>
<td class="sty1"><?php echo $row['wr_5'];?></td>
<td class="sty1"><?php echo $row['wr_6'];?></td>
<td class="sty1"><?php echo $row['wr_7'];?></td>
<td class="sty1"><?php echo $row['wr_8'];?></td>
<td class="sty1"><?php echo $row['wr_9'];?></td>
<td class="sty1"><?php echo $row['wr_10'];?></td>
</tr>
<?php }
?>
</table>
</body>
</html>
답변 3
$fileurl = $file[$k]['path']."/".$file[$k]['file'];
->
$fileurl = $file[$k]['href'];
$file = get_file($bo_table, $row['wr_id']);
for($k=0; $k< $file['count']; $k++){
$fileurl = $file[$k]['path']."/".$file[$k]['file'];
echo '<a href="'.$fileurl.'">다운로드</a>';
}
->
$ss_name = 'ss_view_'.$bo_table.'_'.$row['wr_id'];
if (!get_session($ss_name)) set_session($ss_name, TRUE);
$file = get_file($bo_table, $row['wr_id']);
for ($k = 0; $k < $file['count']; $k++){
$fileurl = $file[$k]['href'];
echo '<a href="'.$fileurl.'">다운로드</a>';
}
https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=91
!-->
토큰 유효시간이 지났거나??? <==이런 에러가 나온다는 것은 그누보드 원본이 아닌 것 같은데요?
아래처럼 해보세요
$fileurl = $file[$k]['path']."/".$file[$k]['file']; 수정 ==> $fileurl = $file[$k]['href'];
스킨폴더에 download.head.skin.php 화일 생성
<?php
$ss_name = 'ss_view_'.$bo_table.'_'.$wr_id;
set_session($ss_name, TRUE);
!-->
답변을 작성하시기 전에 로그인 해주세요.