파일 다운로드 예제입니다.
<?php
$filename = 'test.php';
header("Cache-control: private");
header("Content-type: ".user_mime_content_type($filename));
header("Content-Disposition: attachment; filename=".$filename);
header("Content-Length: ".filesize($filename));
header("Cache-Control: cache, must-revalidate");
header("Content-Description: PHP3 Generated Data");
header("Pragma: no-cache");
header("Expires: 0");
if(filetype('test.php') === 'file'){
$fp = fopen("test.php", "rb");
while(!feof($fp)) {
print fread($fp, 1024);
flush();
}
fclose ($fp);
} else {
header_remove();
}
clearstatcache();
?>
다음은 다운로드 함수 예제입니다. 다운로드받을 때는 파일이 위치하는 경로를 적어 주세요.
<?php force_download("filename"); ?>
<?php
function force_download($filename) {
$data = @file_get_contents($filename);
if($data) {
$basename = basename($filename);
$expires = gmdate("D, d M Y H:i:s", mktime(
date("H")+2, date("i"), date("s"), date("m"), date("d"), date("Y")
));
header("Content-Type: application-x/force-download");
header("Content-Disposition: attachment; filename=$basename");
header("Content-length: " . strlen($data));
header("Expires: " . $expires . " GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
if(false === strpos($_SERVER["HTTP_USER_AGENT"], 'MSIE ')) {
header("Cache-Control: no-cache, must-revalidate");
}
header("Pragma: no-cache");
flush();
ob_start();
echo $data;
} else {
die($filename . " 파일 열기에 실패하였습니다.");
}
}
?>