ftp에 파일 올리고 링크를 걸어서 뷰화면에서 다운받을려면 어떻게 해야 할까요? 정보
ftp에 파일 올리고 링크를 걸어서 뷰화면에서 다운받을려면 어떻게 해야 할까요?관련링크
본문
링크건 이미지 파일을 다운받는 방법을 여쭤봤었는데....
서버에 올리고...란 답변을 주셔서 다시 질문 드립니다..
이미지파일.. 등...파일다운로드를 눌렀을때 웹에서 보여지지 않고..
다운로드가 가능하게 하는 방법을 알고 싶습니다...
그리고 새창이 떠서 파일 다운로드를 해도 창이 안 없어지고 그대로 있던데....
파일 다운로드 후에는 창이 자동으로 없어지든가...아니면 아예 새창이 뜨지 않게 하려면 또 어떻게 해야 하나요?
답변 부탁드립니다..
서버에 올리고...란 답변을 주셔서 다시 질문 드립니다..
이미지파일.. 등...파일다운로드를 눌렀을때 웹에서 보여지지 않고..
다운로드가 가능하게 하는 방법을 알고 싶습니다...
그리고 새창이 떠서 파일 다운로드를 해도 창이 안 없어지고 그대로 있던데....
파일 다운로드 후에는 창이 자동으로 없어지든가...아니면 아예 새창이 뜨지 않게 하려면 또 어떻게 해야 하나요?
답변 부탁드립니다..
댓글 전체
대충 그누보드의 download.php 파일을 참고하여 만들어 본 소스입니다.
다운로드할 파일 위치만 수정하시면 바로 사용가능하시긴 할겁니다.
아래 소스를 down.php 로 저장하시고 사용 법은..
http://domain/down.php?file=파일이름
이런 형식으로 사용하시면 됩니다.
<?
$filedir = "/home/user/down/"; // 다운로드할 파일 위치 지정
$filepath = $filedir.$_GET["file"];
$filepath = addslashes($filepath);
$original = $_GET["file"];
if (is_file($filepath)) {
if(eregi("msie", $_SERVER[HTTP_USER_AGENT]) && eregi("5\.5", $_SERVER[HTTP_USER_AGENT])) {
header("content-type: doesn/matter");
header("content-length: ".filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\"");
header("content-transfer-encoding: binary");
} else {
header("content-type: file/unknown");
header("content-length: ".filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\"");
header("content-description: php generated data");
}
header("pragma: no-cache");
header("expires: 0");
flush();
if (is_file("$filepath")) {
$fp = fopen("$filepath", "rb");
while(!feof($fp)) {
echo fread($fp, 100*1024);
flush();
}
fclose ($fp);
flush();
} else {
alert("해당 파일이나 경로가 존재하지 않습니다.");
}
} else {
alert("파일을 찾을 수 없습니다.");
}
?>
다운로드할 파일 위치만 수정하시면 바로 사용가능하시긴 할겁니다.
아래 소스를 down.php 로 저장하시고 사용 법은..
http://domain/down.php?file=파일이름
이런 형식으로 사용하시면 됩니다.
<?
$filedir = "/home/user/down/"; // 다운로드할 파일 위치 지정
$filepath = $filedir.$_GET["file"];
$filepath = addslashes($filepath);
$original = $_GET["file"];
if (is_file($filepath)) {
if(eregi("msie", $_SERVER[HTTP_USER_AGENT]) && eregi("5\.5", $_SERVER[HTTP_USER_AGENT])) {
header("content-type: doesn/matter");
header("content-length: ".filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\"");
header("content-transfer-encoding: binary");
} else {
header("content-type: file/unknown");
header("content-length: ".filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\"");
header("content-description: php generated data");
}
header("pragma: no-cache");
header("expires: 0");
flush();
if (is_file("$filepath")) {
$fp = fopen("$filepath", "rb");
while(!feof($fp)) {
echo fread($fp, 100*1024);
flush();
}
fclose ($fp);
flush();
} else {
alert("해당 파일이나 경로가 존재하지 않습니다.");
}
} else {
alert("파일을 찾을 수 없습니다.");
}
?>
아주 잘되네요...정말 감사합니다...
근데 $filedir = "/home/user/down/"; // 다운로드할 파일 위치 지정...을...
링크주소에서 써주려면 어떻게 해야 할까요?
그러니까 링크주소에 /home/user/down/파일명까지 적어주고...
뷰페이지에서 다운로드 누르면 위 파일을 적용한것처럼 무조건 다운이 되게끔...
^^...
답변 너무 감사드리고...한번 더 답변 해주심 하는 바램이 있네용...^^
근데 $filedir = "/home/user/down/"; // 다운로드할 파일 위치 지정...을...
링크주소에서 써주려면 어떻게 해야 할까요?
그러니까 링크주소에 /home/user/down/파일명까지 적어주고...
뷰페이지에서 다운로드 누르면 위 파일을 적용한것처럼 무조건 다운이 되게끔...
^^...
답변 너무 감사드리고...한번 더 답변 해주심 하는 바램이 있네용...^^
$filedir = "/home/user/down/"; // 다운로드할 파일 위치 지정
$filepath = $filedir.$_GET["file"];
이부분을 그냥 $filedir 을 없애버리시고
$filepath = $_GET["file"];
file은 상대경로로 지정해주셔야 합니다.
$filepath = $filedir.$_GET["file"];
이부분을 그냥 $filedir 을 없애버리시고
$filepath = $_GET["file"];
file은 상대경로로 지정해주셔야 합니다.
너무 너무 감사합니다...
근데...
Fatal error: Call to undefined function: alert() in ....
이런 에러가 뜨네요..ㅡㅜ
근데...
Fatal error: Call to undefined function: alert() in ....
이런 에러가 뜨네요..ㅡㅜ