2012-04-07 2 views
1

제출 된 체크 박스 요소의 값을 확인하고 값이 인쇄 된 경우 해당 값을 인쇄하는 다음과 같은 PHP 스크립트가 있습니다.PHP에서 파일을 즉석에서 생성하고 다운로드 할 수있는 방법

<?php 
echo '<table class="features-table">'; 

echo "<tbody>"; 
for ($i=1;$i<=2284;$i+=1) { 
    if($_POST[$i]) { 
    echo"<tr>"; 
      echo "<td><a href=http://www.m-w.com/dictionary/" . $_POST[$i] . ">" . $_POST[$i]. "</a></td>"; 
    echo "</tr>"; 
    } 
} 

?> 

이 데이터를 사용자에게 보여주고 싶습니다.이 데이터를 텍스트 파일로 다운로드 할 수 있습니다. 다운로드 단추는 어떻게 작성해야합니까? 이 경우 별도의 PHP 스크립트가 필요합니까?이 PHP 스크립트에 양식 데이터를 어떻게 제출합니까?

이 구글 검색에서 나는

header("Content-type: text/plain"); 
header("Content-Disposition: attachment; filename=list.txt"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 
echo 'data1,data2,data3...'; 

아래에 유사한 코드를 사용할 필요가있어하지만 내가 현재 PHP 스크립트와 통합 어떻게 받고 있지 않다.

고마워요.

답변

1

비행 중에 파일을 만들 필요가 없습니다. 나는 다음과 같은 방법으로 그것을 할 것

....

숨겨진 필드와 데이터를 사용할 수 있는지 확인하고 다운로드 버튼과 함께 form 태그의 필드를 묶습니다. 사용자가 다운로드 버튼을 클릭하면 스크립트에서 모든 양식 데이터를 사용할 수 있습니다. 그런 다음 데이터로 수행하려는 모든 작업을 수행 할 수 있습니다. 나는 다음과 같은 않았다

+0

감사합니다! – vaichidrewar

1

내가 헤더 이후 별도의 PHP 파일을 (만들어야했습니다
<?php 
$list = "Unknown words from GSL\n\n"; 
    echo '<table class="features-table">'; 
    echo "<tbody>"; 
    for ($i=1;$i<=2284;$i+=1) { 
     if($_POST[$i]) { 
     echo"<tr>"; 
       echo "<td><a href=http://www.m-w.com/dictionary/" . $_POST[$i] . ">" . $_POST[$i]. "</a></td>"; 
       $list = $list . $_POST[$i] . "\n"; 
     echo "</tr>"; 
     } 
    } 

echo' 
    <form action="download.php" method="post"> 
    <input type="hidden" name="wordlist" value="'. $list . '"> 

    <center><input type="submit" name="submit_parse" style="margin-bottom: 20px; margin-top: 10px;width:200px; font-face: "Comic Sans MS"; font-size: larger; " value=" Download as a text file "> </center> 
    </form> 
'; 
?> 

하는)보다 먼저 호출해야합니다 sudip로 대답 한 후 미래

에 다른 사람을 도울 수있는 코드를 변경 게시 실제 출력은 일반 HTML 태그, 파일의 빈 줄 또는 PHP에서 전송됩니다. download.php의

내용 숨겨진 필드에 내용을 저장하는 아이디어를주는

<?php 
header("Content-type: text/plain"); 
header("Content-Disposition: attachment; filename=list.txt"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 
echo $_POST["wordlist"] ; 
?> 
+0

그래서,'download.php'의 내용에'' 태그를 추가하는 것을 잊었습니다. –

관련 문제