[英]Change the name of my zip file created with php
我有一個用於使用圖像創建zip的腳本。 它真的很好!
create_zip($files_to_zip, 'zip/download-'.$id_account.'-'.$time.'.zip');
function create_zip($files = array(),$destination = '',$overwrite = true) {
if(file_exists($destination) && !$overwrite) { return false; }
$valid_files = array();
if(is_array($files)) {
foreach($files as $file) {
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
if(count($valid_files)) {
$zip = new ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
}
foreach($valid_files as $file) {
$zip->addFile($file,$file);
}
$zip->close();
return file_exists($destination);
}
else { return false; }
}
當我下載文件時,它的文件名為zip/download-'.$id_account.'-'.$time.'.zip
但當我要提取文件時,提取文件夾始終命名為files
。 結果
請問您有將我解壓縮的文件重命名為其他名稱的想法嗎?
非常感謝 !
您可以使用此代碼創建zip文件。
像這樣
$File = 'path' . time() . '.zip';
$zip = new \ZipArchive();
$res = $zip->open($File, \ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFile($filename);
$zip->close();
}
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=\"" . basename($File) . "\"");
header("Content-Length: " . filesize($File));
header("Pragma: no-cache");
header("Expires: 0");
readfile($File);
header("Connection: close");
就您而言,您只是錯過了標題部分 。
只需在代碼中添加標題部分,即可為您工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.