因此,我創建了一些php代碼來使用ZipArchive創建zip文件。這將創建一個zip文件並下載它。要啓動下載,我將包含下面php代碼的php文件鏈接放在iframe中。然後將此iframe插入到html文檔中。重新下載zip文件而不重寫zip文件 - ZipArchive PHP
因此,無論何時加載html文檔,下載器都會啓動。我在iframe標記中創建了onload屬性,它將調用一個函數來顯示重新下載按鈕。
因此,如果用戶單擊重新下載按鈕,我希望它再次下載同一個zip文件,但不能再次重新創建zip文件進程。我怎麼做?
謝謝!
我的HTML代碼:
<iframe src="phpfile.php" onload="myFrameLoad(this)"></iframe>
爲phpfile.php我的PHP代碼:
$coreFiles = Array('blah.jpg', 'blo.png');
# create new zip object
$coreZip = new ZipArchive();
# create a temp file & open it
$tmp_file = tempnam('.','');
$coreZip->open($tmp_file, ZipArchive::CREATE);
# loop through each file
foreach($coreFiles as $coreFile){
# download file
$download_file = file_get_contents($coreFile);
#add it to the zip
$coreZip->addFromString(basename($coreFile),$download_file);
}
# close zip
$coreZip->close();
# send the file to the browser as a download
header('Content-disposition: attachment; filename=myZipFolder.zip');
header('Content-type: application/zip');
readfile($tmp_file);
你就必須存儲的地方解壓縮文件。並在調用ZipArchive之前先查找它。是的,這會在一段時間後佔用大量空間 – Forbs
_「因此,無論何時加載html文檔,下載程序都會啓動」_,_「因此,如果用戶單擊重新下載按鈕」_位於哪裏「重新下載按鈕」? – guest271314
@ guest271314重新下載按鈕將出現在HTML文檔中的iframe上方 –