1

追加するようです

リンク解除($ファイル名);

一番下にそれを修正するようです:

================================================== ===================

だから私がやろうとしているのは、2つの文字列からzipファイルを作成し、ブラウザに「名前を付けて保存」ダイアログボックスを開いてzipファイルをダウンロードするように指示するヘッダーを送信することです。

問題なく動作しますが、ユーザーがダウンロード リンクをクリックすると、「名前を付けて保存」ダイアログ ボックスが表示されたときに、php スクリプトがある php フォルダーのルートに zip ファイルのコピーがコピーされます。なぜこれが起こるのか知っている人はいますか?問題はヘッダーにある可能性があると思います。ユーザーが指定した場所に1つのコピーを保存したいだけです。

$string1 = "Some data Some data Some data Some data Some data Some data";
$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) {
   exit("cannot open <$filename>\n");
}


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


$zip->close();


header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$filename."\"");
header("Content-Transfer-Encoding: binary");

clearstatcache();

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


?> 
4

2 に答える 2