下面是我正在使用的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;但它不起作用。 请帮我解决这个问题。感谢。
答案 0 :(得分: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>
的download.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;
}
?>
答案 1 :(得分:0)
我希望您可以使用
解决问题$data = strip_tags($_POST['tarea']);
而不是
$data = $_POST['tarea'];
如果这对您没有帮助,请使用
ob_end_clean();
使用header()函数之前。