파일을 다운 받고자 php작업을 했는데 뭐가 문제일까요?
본문
<img src="<?=$g4['path']?>/img/main_middle_5_sub.jpg" border="0" usemap="#Mapicon">
<map name="Mapicon">
<area shape="rect" coords="60,115,290,160" href="<?=$g4['path']?>/download.php?downfile=TeamViewer_Setup507687.exe">
</map>
..........................여기서부터 filedown.php인데 파일다운받고자 그림 클릭하면 아래 처럼 나옵니다..뭐가 문제일까요..
<?
include_once("$g4[path]/lib/latest.lib.php");
include_once("$g4[path]/head.sub.php");
include_once("$g4[path]/lib/outlogin.lib.php");
ob_start();
$downfile = $_GET[downfile];
$downfiledir = "./dfiles/" ; // 파일이 있는 위치
if ( file_exists($downfiledir.$downfile) )
{
//header("Content-Type: application/octet-stream");
//Header("Content-Disposition: attachment;; filename=$downfile");
//header("Content-Transfer-Encoding: binary");
//Header("Content-Length: ".(string)(filesize($downfiledir.$downfile)));
//Header("Cache-Control: cache, must-revalidate");
//header("Pragma: no-cache");
//header("Expires: 0");
$fp = fopen($downfiledir.$downfile, "rb"); //rb 읽기전용 바이러니 타입
while ( !feof($fp) )
{
echo fread($fp, 100*1024); //echo는 전송을 뜻함.
}
fclose ($fp);
flush(); //출력 버퍼비우기 함수..
}
else
{
echo("존재하지 않는 파일입니다.");
}
?>
답변 2
header()를 전부 주석처리 하셔서 그런건 아닐까 싶은데요..
그나저나 $downfile 변수를 조금 더 처리하셔야 할듯한...
download.php?downfile=../dbconfig.php 이런것도 가능하지 않을까요? +_+;
하다못해
$downfile = $_GET[downfile];
$downfile = basename($downfile);
이렇게 basename 처리라도 한번 해주심이..