본문 바로가기

스크립트/그누보드 관련

그누보드 list 에서 파일 다운로드 받기

그누보드 list 에서 파일 다운로드 받기

해당 스킨의 list.skin.php 을 열어서

echo " " . $list[$i][icon_file]; <-- 첨부파일이 있을경우 표시하는 부분이다.
이부분을 삭제하고 이유는 파일부분을 클릭하면 리스트에서 바로 다운받을 수 있도록 해야하기때문에,
현재 코드는 단순 출력을 하는 명령부분을 삭제한다.

그리고

$ss_name = "ss_view_{$bo_table}_{$list[$i][wr_id]}";
     session_register($ss_name);
     $$ss_name = $HTTP_SESSION_VARS[$ss_name] = TRUE;

if($list[$i][file][0]) {
   $image = urlencode($list[$i][file][0][file]);
   if (preg_match("/\.(gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG)$/i", $image))
   {
   $down_link0 = "download.php?bo_table=" . $bo_table . "&wr_id=" . $list[$i][wr_id] . "&no=0";
   echo "<a href='$down_link0'>";
   echo " <img src=\"$board_skin_path/img/icon_pic.gif\" height='18' width='18' align=absmiddle>";
   echo "</a>";
   } else if (preg_match("/\.(hwp|doc)$/i", $image)){
   $down_link0 = "download.php?bo_table=" . $bo_table . "&wr_id=" . $list[$i][wr_id] . "&no=0";
   echo "<a href='$down_link0'>";
   echo " <img src=\"$board_skin_path/img/icon_hwp.gif\" height='18' width='18' align=absmiddle>";
   echo "</a>";
   } else if (preg_match("/\.(pdf)$/i", $image)){
   $down_link0 = "download.php?bo_table=" . $bo_table . "&wr_id=" . $list[$i][wr_id] . "&no=0";
   echo "<a href='$down_link0'>";
   echo " <img src=\"$board_skin_path/img/icon_pdf.gif\" height='18' width='18' align=absmiddle>";
   echo "</a>";
   } else {
   $down_link0 = "download.php?bo_table=" . $bo_table . "&wr_id=" . $list[$i][wr_id] . "&no=0";
   echo "<a href='$down_link0'>";
   echo " " . $list[$i][icon_file];
   echo "</a>";
   }

을 출력한다. 그럼 파일 확장자별로 표시 이미지를 변경할 수 있다.img 부분 수정하면된다.

그리고 외부에서 바로 다운로드하기 때문에 세션을 확인후 다운로드를 제안하고있다.
그로 bbs/download.php 의 세션 차단 부분을 변경 또는 삭제해야한다.
8번째 줄
if (!get_session("ss_view_{$bo_table}_{$wr_id}")) 
   alert("잘못된 접근입니다."); 

부분 alert 부분을 삭제하거나 넘어가도록 하면 다운로드로 바로 넘어 가게된다.
※ 중요한건 외부에서 바로 다운로드링크를 걸어도 다운되는 점이다. 이부분은 링크 당시의 page 도메인을 비교해서 막을 수있다(외부에서 호출할 수 없도록) 블로그에도메인을 체크하는 내용이 있으니 검색해보도록,..