멀티 파일다운로드 꽁수로 구현하기

by 조쉬 posted Jun 19, 2020
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
이 부분이 소스입니다.
---------------------------
/**
* by 행복한고니 (20041007)
*/
function mdown(N)
{
        var objs = document.getElementsByName(N);
        var Body = document.getElementsByTagName('+ 'BODY')[0];
        var j;
        
        for (var i=j=0; i < objs.length; i++) {
                if (!objs[i].checked) continue;
                if (mdown.fList[j] == undefined) {
                        mdown.fList[j] = document.createElement("IFRAME");
                        mdown.fList[j].style.display = 'none';

                        Body.appendChild(mdown.fList[j]);
                }
                mdown.fList[j].src = mdown.GetURL(objs[i].value);
                j++;
        }
}

mdown.fList = [];
---------------------------

우선 파일 다운로드를 하는 프로그램을 download.php 라고 가정합니다.

이 때, download.php 에서 파일을 다운로드 할 때 download.php?fileid=아이디번호 와 같은 식으로 쓴다고 가정합니다. 이 규칙에 의해서 mdown.GetURL 함수를 사용자가 작성합니다.

---------------------------

mdown.GetURL = function(val) {
        // 이 함수를 각자의 프로그램 사양에 따라 적당히 만들어주세요.
        // 체크박스에 있던 value 값이 val로 전달됩니다.

        return 'http://mysite.com/download.php?fileid='+val+');';
}

---------------------------

예제 HTML은 다음과 같이 쓸 수 있습니다.

<!-- 스크립트 포함 후 -->
<input type="checkbox" name="downfile" value="1"> 1번 파일
<input type="checkbox" name="downfile" value="2"> 2번 파일
<input type="checkbox" name="downfile" value="3"> 3번 파일
<input type="checkbox" name="downfile" value="4"> 4번 파일
<input type="button" value="다운로드" onclick="mdown('downfile')">