0

下面是我正在使用的 php 代码,

         <?php
         if(isset($_POST['tarea'])){
                 $filename = $_SESSION['Zone'].'.zone';
                 $data = $_POST['tarea'];
                 header("Cache-Control: public");
                 header("Content-Description: File Transfer");
                 header("Content-Disposition: attachment; filename=$filename");
                 header("Content-Type: application/octet-stream; "); 
                 header("Content-Transfer-Encoding: binary");
                 echo $data;
                 }
        ?>

我只是想将文本区域的内容下载为可下载文件,但它也在文件中输出 html 代码,我尝试使用 die($data); 而不是 echo $data; 但它不起作用。请帮我解决这个问题。谢谢。

4

2 回答 2

0

我希望你可以通过使用解决你的问题

$data = strip_tags($_POST['tarea']);

代替

$data = $_POST['tarea'];

如果这对您没有帮助,请使用

ob_end_clean();

在使用 header() 函数之前。

于 2013-07-16T07:20:26.727 回答
0

我创建了两个文件,tarea.php(用于表单)和 download.php

tarea.php

<?php
session_start();
$_SESSION['Zone'] = 'test';

?>
<form action="download.php" method="post">
<textarea name="tarea"></textarea>
<input type="submit">     
</form>

下载.php

<?php
session_start();
if(isset($_POST['tarea'])){
    $filename = $_SESSION['Zone'].'.zone';
    $data = $_POST['tarea'];
    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Disposition: attachment; filename=$filename");
    header("Content-Type: application/octet-stream; "); 
    header("Content-Transfer-Encoding: binary");
    echo $data;
    exit;
}
?>
于 2013-07-16T06:59:05.820 回答