테스트 사이트 - 개발 중인 베타 버전입니다

파일 다운로드 후 창닫기(재질문)ㅠㅠ 채택완료

고급지게 4년 전 조회 2,268

파일 다운로드 후 창닫기 하려고 합니다ㅠㅠ 코드첨부해서 다시 한번 올리겠습니다..

 

1. 여기로 시작해서 저기 a태그를 누르면

</p>

<pre>
<div class="sec-white" align="center">
    <div class="sec-content" align="center">
        <div class="features-list block-1-3 block-m-1-2 block-mob-full group">
            <div class="bgrid feature" data-aos="fade-up"> <img src="<?= G5_THEME_IMG_URL ?>/images/res-facilities.png"/>

                <a href="<?=G5_URL?>/form-download.php?file_no=1" class="button button-demo cta win_resources" target="_blank">파일1번</a>
            </div>
            <div class="bgrid feature" data-aos="fade-up"> <img src="<?= G5_THEME_IMG_URL ?>/images/res-manufact.png"/>

                <a href="<?=G5_URL?>/form-download.php?file_no=2" class="button button-demo cta win_resources" target="_blank">파일2번</a>
            </div>
            <div class="bgrid feature" data-aos="fade-up"> <img src="<?= G5_THEME_IMG_URL ?>/images/res-hospital.png"/>

                <a href="<?=G5_URL?>/form-download.php?file_no=0" class="button button-demo cta win_resources" target="_blank">파일3번</a>
            </div>
        </div>
    </div>
</div></pre>

<p>

 

아래와 같은 이름과 이메일 수집하는 form창이 뜹니다.

</p>

<pre>
<form name="fpasswordlost" id="fpasswordlost" action="<?php echo G5_BBS_URL ?>/form-download_update.php" onsubmit="return fpasswordlost_submit(this);" method="post" autocomplete="off"></pre>

<pre>
<tr>
    <td>성명<span id="red3"></span></td>
    <td><input class="full-width" type="text" id="sampleInput3"  name="name" maxlength="50"></td>
</tr></pre>

<pre>
<tr>
    <td>이메일<span id="red5">*</span></td>
    <td><input class="full-width" type="email" id="sampleInput5" name="email" required maxlength="50"></td>
</tr></pre>

<pre>
<div align="center"><input class="button" type="submit" value="다운로드"></div></pre>

<pre>
</form>
</pre>

<p>

그러고 해당 액션으로 오면

</p>

<pre>
<?php
include_once('./_common.php');</pre>

<pre>
extract($_POST);</pre>

<pre>
if ($file_no == "")
    alert_close('올바른 방법으로 이용해 주십시오.'); // 파일 있는지 확인</pre>

<pre>
$sql = "insert into download_list set file_no = '{$file_no}', name = '{$name}', email = '{$email}', date = NOW() "; </pre>

<pre>
sql_query($sql, false );// db에 insert</pre>

<pre>
header('Content-Type: application/x-octetstream');
header('Content-Length: '.filesize($filepath));
header('Content-Disposition: attachment; filename='.$file[$file_no]['file']);
header('Content-Transfer-Encoding: binary');

$fp = fopen($filepath, "r");
fpassthru($fp);

fclose($fp);</pre>

<p>

 

여기까지하면 파일 다운로드는 잘 됩니다.. 근데 그 이후 창을 닫는 작업이 안되서 질문올립니다

이것저것 넣어보고 알게 된건.. fclose($fp); 이 이후에 코드는 아예 안먹히고있어영..

도와주세요ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
4년 전

fclose 했다는건 파일을 보내줬다는 말이기때문에 거기서는 어떻게 할수 있는게 없습니다.

 

하려고 한다면

fpasswordlost 의 action을 함수로 만들어서

self.close 하고 window.location 해서 해당 php 로 넘어가게 하면 안될까요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

고급지게
4년 전
의견 감사합니다ㅠㅠ 해보고 결과 다시 댓글로 달아보겠습니다. 혹시 창 닫는거 말고 새로고침 하는 부분도 fclose를 했기때문에 할수가 없는것일까요
고급지게
4년 전
허허.. 이렇게 저렇게 다 해봤는데 안되네요ㅠㅠ 창은 닫히는데 다운이 안된다거나.. 다운은 되는데 창이 안닫히고ㅠㅠ 달라지는게 없네요 흑

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인