使用php压缩目录(而不是目录)中的所有文件

时间:2011-03-11 17:23:58

标签: php zip

$fileToZip="License.txt";
$fileToZip1="CreateZipFileMac.inc.php";
$fileToZip2="CreateZipFile.inc.php";

$directoryToZip="../images"; // This will zip all the file(s) in this present working directory

$outputDir="/"; //Replace "/" with the name of the desired output directory.
$zipName="test.zip";

include_once("CreateZipFile.inc.php");
$createZipFile=new CreateZipFile;


//Code toZip a directory and all its files/subdirectories
$createZipFile->zipDirectory($directoryToZip,$outputDir);

$rand=md5(microtime().rand(0,999999));
$zipName=$rand."_".$zipName;
$fd=fopen($zipName, "wb");
$out=fwrite($fd,$createZipFile->getZippedfile());
fclose($fd);
$createZipFile->forceDownload($zipName);
@unlink($zipName); `

当我运行此代码时,它会创建一个zip文件test.zip,但是当我提取它时,我将获取images文件夹中的所有文件,我不希望这种情况发生。我只想在提取时获取所有文件,而不是文件夹中的文件。如何修改此代码才能实现?还有其他办法吗?谢谢。

2 个答案:

答案 0 :(得分:2)

我认为this正是您所寻找的。 您应该能够根据需要对其进行强化并进行修改。这取决于ZipArchive类。

答案 1 :(得分:0)

这可能是一个很长的镜头,但你试过改变这个:

$directoryToZip="../images";

到此:

$directoryToZip="../images/";