커피와 개발자

파일 다운로드 페이지 본문

웹개발/PHP

파일 다운로드 페이지

광박이 2009. 9. 8. 13:55
728x90

파일 다운로드를 할때 링크를 걸게되면 페이지가 전환이 된다.
특히 이미지나 pdf 파일등은 익스플로어에서 직접 열리기때문에 다운로드 처리 페이지를 만들어 보내줘야 한다.

if($FileName1){
       echo("<tr height='$height'>
        <td colspan='3' bgcolor='$cell2color' valign='middle'><b><font color='#5F779F'>파일 다운로드 #1 : </font><a href='../include/file_download.php?Name=$FileName1'>$FileName1</b></a></td>
       </tr>");
      }
      if($FileName2){
       echo("<tr height='$height'>
        <td colspan='3' bgcolor='$cell2color' valign='middle'><b><font color='#5F779F'>파일 다운로드 #2 : </font><a href='../include/file_download.php?Name=$FileName2'>$FileName2</b></a></td>
       </tr>");
      }
      if($FileName3){
       echo("<tr height='$height'>
        <td colspan='3' bgcolor='$cell2color' valign='middle'><b><font color='#5F779F'>파일 다운로드 #3 : </font><a href='../include/file_download.php?Name=$FileName3'>$FileName3</b></a></td>
       </tr>");
      }
위와 같이 다운로드 페이지로 파일명을 넘겨주면 다운로드 페이지에서 처리되어 다운로드 창이 뜨도록 할 수 있다.

<?
$Path="../upload_files/$Name"; //파일경로
if (is_file($Path)) {
Header("Content-type:application/octet-stream");
Header("Content-Length:".filesize($Path));   
Header("Content-Disposition:attachment;filename=".$Name); //$Name 파일명 (레퍼런스로 받아오는 값)
Header("Content-type:file/unknown");
Header("Content-Description:PHP3 Generated Data");
Header("Pragma: no-cache");
Header("Expires: 0");

$fp = fopen($Path, "rb");   
if (!fpassthru($fp)) fclose($fp);
 clearstatcache();
} else {
 echo("<script language='JavaScript'>
 alert('\\n\\n해당 파일이나 경로가 존재하지 않습니다.\\n');
 </script>");
 echo ("<meta http-equiv='Refresh' content='0; URL=../company/board.php?type=checkview'>"); //오류출력후 돌아갈 페이지
 exit();       
}
?>

728x90

'웹개발 > PHP' 카테고리의 다른 글

페이징 처리하기  (0) 2010.05.07
치환 함수 str_replace()  (0) 2009.09.28
php 엑셀파일로 데이터 저장하기  (0) 2009.08.31
PHP 업로드 파일 삭제하기  (0) 2009.08.10
PHP 다중업로드 하기  (0) 2009.08.10
Comments