본문 바로가기
9. 프로젝트/└ 02. 홈페이지제작

php 파일 다운로드 정리

by 훈킹 2008. 7. 26.
반응형

$file = "../data_file/$user_file"; //실제 파일명 또는 경로


$dnurl = "files/$file" ;
$dnfile = urlencode("$dnurl"); // 파일명이나 경로에 한글이나 공백이 포함될 경우를 고려

$dn = "0"; // 1 이면 다운 0 이면 화면에 출력(브라우져가 인식하면)
$dn_yn = ($dn) ? "attachment" : "inline"; // attachment 면 다운 inline 화면에 출력

if(eregi("(MSIE 5.5|MSIE 6.0)", $HTTP_USER_AGENT)) // 브라우져 구분
{
Header("Content-type: application/octet-stream");
Header("Content-Length: ".filesize("$file")); // 이부부을 넣어 주어야지 다운로드 진행 상태가 표시 됩니다.
Header("Content-Disposition: $dn_yn; filename=$dnfile");
Header("Content-Transfer-Encoding: binary");
Header("Pragma: no-cache");
Header("Expires: 0");
}
else
{
Header("Content-type: file/unknown");
Header("Content-Length: ".filesize("$file"));
Header("Content-Disposition: $dn_yn; filename=$dnfile");
Header("Content-Description: PHP3 Generated Data");
Header("Pragma: no-cache");
Header("Expires: 0");
}

if (is_file("$file"))
{
$fp = fopen("$file", "r");
if(!fpassthru($fp)) fclose($fp);
}
else
{
echo "해당 파일이나 경로가 존재하지 않습니다.";

반응형