最终目标: 我想创建一个网页,让用户可以在表单中输入信息。使用这些信息,我想通过将所给信息插入到模板中来创建一个名为test-download.html的html文件,然后强制下载该文件。由于我想在即将举行的研讨会上演示这一点,人们会在“同一时间”使用它,因此我希望不要将文件保存在服务器上,而是直接强制下载。
到目前为止: 我的html文件(test.html)中有以下内容:
<form action="test.php" method="post">
To file: <input type="text" name="tofile" />
<input type="submit" />
</form>
而在我的test.php文件中是这样的:
<?php
$filename = 'test-download.html';
$htmlcode1 = "<HTML> \n <BODY>";
$htmlcode2 = "</BODY> \n <HTML>";
$somecontent = $htmlcode1.$_POST["tofile"].$htmlcode2;
!$handle = fopen($filename, 'w');
fwrite($handle, $somecontent);
fclose($handle);
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Length: ". filesize("$filename").";");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Type: application/octet-stream; ");
header("Content-Transfer-Encoding: binary");
readfile($filename);
?>
这会覆盖test-download.html文件并强制下载。
问题:如何在不干扰服务器上的文件(test-download.html)的情况下完成这个操作?
echo
,我不确定该怎么纠正。 - alex