1

だから私は2つの文字列からZipファイルを作成しようとしています. 1 つは HTML 文字列で、もう 1 つはプレーン テキストです。これまでのところ、テキスト文字列が正しく機能しているように見えますが、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 に答える