파일을 다운 받고자 php작업을 했는데 뭐가 문제일까요? 채택완료
..........................여기서부터 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개
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
header()를 전부 주석처리 하셔서 그런건 아닐까 싶은데요..
그나저나 $downfile 변수를 조금 더 처리하셔야 할듯한...
download.php?downfile=../dbconfig.php 이런것도 가능하지 않을까요? +_+;
하다못해
$downfile = $_GET[downfile];
$downfile = basename($downfile);
이렇게 basename 처리라도 한번 해주심이..
답변에 대한 댓글 1개
2. basename 처리도 해보았는데도 똑같은 결과입니다
원래 코딩실력이 미천하여 다른 홈페이지에 사용하던 걸
받아와서 쓰는것인데 그 쪽에서는 제대로 되는데
여기와서는 안되는군요..주석처리 된 부분은 다른 홈페이지에서 사용하던 것이라
사용안하는 겁니다..미치겠습니다^^
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인