Media Log

[다운로드]에 해당되는 글 1

  1. php 다운로드 소스 2009.05.12

파일이름을 /notice/111.img 로 해서 넘겼다.
$file = 실제파일의 저장 경로
$filename = 파일이름

<?include "function.php"?>
<?
$filename = SQL_Injection($_REQUEST["filename"]);
$file = trim($localpath."/data/".$filename);
$filename = explode("/",$filename);
$filename = $filename[1];
$file_size = filesize($file);
$filename = urlencode("$filename");

// 접근경로 확인
if (!eregi($_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER'])) Error("외부에서는 다운로드 받으실수 없습니다.");

if(strstr($HTTP_USER_AGENT, "MSIE 5.5")) {
header("Content-Type: doesn/matter");
Header("Content-Length: ".filesize("$file"));
header("Content-Disposition: filename=$filename");
header("Content-Transfer-Encoding: binary");
header("Pragma: no-cache");
header("Expires: 0");
} else {
header("Content-type: file/unknown");
Header("Content-Disposition: attachment; filename=$filename");
Header("Content-Transfer-Encoding: binary");
Header("Content-Length: ".filesize($file));
Header("Content-Descript-xion: PHP3 Generated Data");
header("Pragma: no-cache");
header("Expires: 0");
}

if( $ret == 1 ) Error("지정하신 파일이 없습니다.");
if( $ret == 2 ) Error("접근불가능 파일입니다. 정상 접근 하시기 바랍니다.");

if (is_file("$file")) {
$fp = fopen("$file", "r");
if (!fpassthru($fp))
fclose($fp);
}
?>