>> Edit article
이름
제목
패스워드
아래는 파일을 선택적으로 다운로드하는 소스의 일부입니다.분명 다운로드도 잘 되고, 이상이 없습니다만.. IE 에서가 문제입니다.리눅에서는 다운로드 이상없습니다. 또한 윈도에서도 이상이 없는데문제는 윈도에서의 파일다운로드시 저장할 파일명의 디폴트가원하는 파일명으로 나오질 않습니다. 예로 테스트.tgz 라는 파일을선택해서 다운 받으면 리눅에서는 ________.tgz(정상이겠죠..)으로 바로 다운로드 되나익스에서는 무조건 파일명에 상관없이 <option value=xxxx.php?...에서 xxxx 부분이 파일명으로 됩니다. 물론 다운받아보면 그 안의 내용은이상없이 테스트.tgz 의 내용입니다. 파일명을 원래의 파일명으로되돌려 주고 싶은데...잘 안됩니다. 해결책 좀 찾아주세요..아래는 원 소스의 일부입니다...... <Script Language="JavaScript"> <!-- function change(form) { if(form.url.selectedIndex != 0) document.location = form.url.options[form.url.selectedIndex].value } --> </SCRIPT> <form> <select name="url" size=1 onChange=change(this.form)> <option selected>파일선택<?php for($k = 0; $k < count($filename); $k++) { $ffnn = urlencode($filename[$k]); echo("<option value=download.php?fn=$ffnn>$filename[$k]"); } echo("</select></form>");..........download.php =-================<?php header("Content-type: application/octet-stream;"); header("Content-Disposition: attachment; filename="$fn""); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); header("Pragma: no-cache"); echo readfile($fn);?>위에서 익스일 경우 만일 option value=down.php?....로 했다면익스에서 디폴트 파일명이 "down" 입니다. 뒤의 확장자도 나오지 않습니다.물론 download.php 파일명은 down.php 로 바꿔야 겠지요..참..그리고..파일 선택하게되면..현재페이지를열기, 다운로드하기라는 창이 뜨는데..거기에서의 파일명은 한글일 경우 또 깨져 나옵니다.그건 상관은 없는데..다운로드 채크하고 다음 화면에서 폴더 선택하는거나오고..아래에 파일명이 무조건..동일한 파일명이라서...그리고 이건 당연하겠지만.. 그냥 <a href=... 를 이용해도 되겠지만..이건 텍스트파일이거나 이미지일경우 브라우저에서 바로 뿌려주기때문에무조건 다운로드하게 하고 싶은 거고요..또한 단순 링크일 경우..압축파일 등등일때..제대로된 파일명이 나옵니다.주로 사용자가 윈도라서 익스에 마춰야 하거던요...해결책 부탁드립니다.
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved