如何将所有选定的文件添加到一个文件夹中并在php中压缩
Posted
技术标签:
【中文标题】如何将所有选定的文件添加到一个文件夹中并在php中压缩【英文标题】:how to add all selected file in one folder and make it zip in php 【发布时间】:2016-01-17 09:25:45 【问题描述】:我创建了一个文件夹并将所有文件添加到此文件夹中,当我解压缩文件夹时显示一些错误..这里是错误
这是我的代码..
$files=$_POST['check_list'];
$zipname = 'kmm.zip';
$zip = new ZipArchive;
$zip->open('kmm.zip', ZipArchive::CREATE |ZipArchive::OVERWRITE);
foreach ($files as $file)
$file="audio/$file";
$zip->addFile($file);
$zip->close();
header('Content-Type: application/zip');
header("Content-Disposition: attachment; filename=kmm.zip");
header('Content-Length: ' . filesize($zipname));
【问题讨论】:
这篇文章需要更多内容。你是如何压缩文件的?你用的是什么代码?脚本运行时是否遇到任何其他错误? 【参考方案1】:首先添加更多细节。确保您的文件没有损坏或损坏。几年前,我花了几个小时试图让 zip 方法工作。所以仔细检查一下! 试试这个。
$zip = new ZipArchive();
foreach ($files as $file)
$filename = 'yourzip.zip';
$thisdir = 'audio/'; //This is directory
//check if file can be openend
if ($zip->open($filename, ZipArchive::CREATE)!==TRUE)
exit("cannot open <$filename>\n");
//This is where the magic happens
$zip->addFromString($file .'-'. time(), "Whatever you like to do with your files");
$zip->addFile($thisdir . $file");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";**strong text**
$zip->close();
?>
在关闭 zip 之前,请确保它完成了 foreach。 测试一下
echo "<pre>",print_r($zip->status),"</pre>";
【讨论】:
以上是关于如何将所有选定的文件添加到一个文件夹中并在php中压缩的主要内容,如果未能解决你的问题,请参考以下文章
将 csv 文件加载到 BIGquery 中并在插入数据时添加日期列
如何让 vbscript 将变量保存到文本文件中并在重新打开程序时调用它们?
如何使用 Ruby 将数据保存到 JSON 中并在以后使用?