1

所以我试图从 2 个字符串创建一个 Zip 文件。1是一个html字符串,另一个是纯文本。到目前为止,我似乎只是让文本字符串正常工作,但应该是 HTML 的文件只是一个空白文件。知道为什么吗?

$string1 = $_POST["html_string"];
$string2 = "Some data Some data Some data Some data Some data Some data";


$filename = "test.zip";
$zip = new ZipArchive();


if ($zip->open($filename, ZIPARCHIVE::CREATE)==TRUE) {

    $zip->addFromString("string1.html", $string1);
    $zip->addFromString("string2.txt", $string2);
    $zip->close();
}


header("Content-Type: application/zip"); 
header("Content-Disposition: attachment; filename=\"".$filename."\"");

//clearstatcache();

header("Content-Length: ".filesize($filename));
readfile($filename);
unlink($filename);

谢谢你的帮助。

4

1 回答 1

2

尝试您的代码替换

$string1 = $_POST["html_string"];

$string1 = '<html>

<title></title>

</html>';

并工作。

你确定 $_POST["html_string"] 不为空吗?添加 var_dump($_POST); 查看是否有一些数据或更新您的代码,在开始时添加检查。

if (empty($_POST["html_string"]))
{

echo 'html_string is empty';
exit;
}
于 2013-03-08T19:52:41.067 回答