我正在构建一个网站,允许用户根据用户选择下载一组图像。如何下载多个文件?是否可以一次下载多个文件?
如果一次只能下载1个文件,我该如何“创建”5个文件,将它们压缩,然后让用户下载该产品的zip文件?
由于
答案 0 :(得分:1)
您一次只能进行一次下载。
如果您想压缩文件,请查看this。
您可以使用file_put_contents()创建文件。
<强>更新强>
第二个想法......如果你为每个文件打开一个新的标签/窗口,也许你可以开始多次下载。但浏览器可能会阻止这些弹出窗口:
<script type="text/javascript">
window.open('download.php?name=file1','_newtab');
window.open('download.php?name=file2','_newtab');
window.open('download.php?name=file3','_newtab');
</script>
答案 1 :(得分:0)
你可以下载很多压缩文件格式,看看这个:
答案 2 :(得分:0)
您无法下载多个文件。您必须压缩它们并将用户的浏览器重定向到zip。
答案 3 :(得分:0)
您可以使用PHP ZIP类来满足您的需求。
此代码为您创建一个zip存档:
<?php
function createZipFile($files = array(), $filePath){
// Check if $files we had contains files
if(is_array($files)){
// $files contains files, loop through them
foreach($files as $file){
// Does the file exist?
if(file_exists($file)){
$filesToBeZipped[] = $file;
}
}
}
if(count($filesToBeZipped)){
// Create your new zip archive
$zipArchive = new ZipArchive();
if($zipArchive->open($filePath, ZIPARCHIVE::CREATE) !== true){
return false;
}else{
foreach($filesToBeZipped as $file) {
$zipArchive->addFile($file,$file);
}
$zipArchive->close();
return file_exists($filePath);
}
}else{
return false;
}
}
$files = array(
'filename1.extension',
'/path/to/filename/filename.extension',
);
$action = createZipFile($files,'yourSampleArchive.zip');
?>
答案 4 :(得分:-1)
Php一次只能发送一个文件,但你可以使用php生成javascript代码,调用多个php文件。