使用压缩文件可以节省磁盘空间;且压缩文件更小,便于网络传输,效率高。本篇文章给大家介绍使用PHP创建zip压缩文件的方法,希望对大家有所帮助。
在PHP中有一个ZipArchive类,可以很容易地用来创建zip文件。下面通过示例来介绍如何在PHP中创建zip文件。
创建一个新的zip文件
以下代码将创建一个新的zip文件(test_new.zip)并向其中添加一些文件。
<?php$zip = new ZipArchive;if ($zip<p>5本文来源gao!daima.com搞$代!码#网#</p><pre>搞代gaodaima码
->open('test_new.zip', ZipArchive::CREATE) === TRUE){ // 将文件添加到zip文件 $zip->addFile('test.txt'); $zip->addFile('test.pdf'); // 将random.txt文件添加到zip并将其重命名为newfile.txt $zip->addFile('random.txt', 'newfile.txt'); // 将有指定文本的new.txt文件添加到zip文件中 $zip->addFromString('new.txt', '要添加到new.txt文件中的文本'); // 关闭zip文件 $zip->close();}?>
代码说明:
第2行:创建ZipArchive类的对象
第3行:用于创建并打开一个名为test_new.zip的文件,以便我们可以向其中添加文件。标志ZipArchive::CREATE指定我们要创建一个新的zip文件
第6行和第7行:用于将文件添加到zip文件中。
第10行:用于将名为random.txt的文件添加到zip文件中,并在zip文件中将其重命名为newfile.txt。
第13行:用于添加新文件new.txt,文件内容为“要添加到new.txt文件的文本”。
第16行:关闭并保存对zip文件的更改。
注意:有时在使用文件的相对路径时可能会出现问题。如果使用路径有任何问题,那么我们也可以使用文件的绝对路径
覆盖现有的zip文件
如果要覆盖现有的zip文件,我们可以使用类似于以下的代码。该标志ZipArchive::OVERWRITE指定覆盖现有的zip文件。
<?php$zip = new ZipArchive;if ($zip->open('test_overwrite.zip', ZipArchive::OVERWRITE) === TRUE){ // 将文件添加到zip文件 $zip->addFile('test.txt'); $zip->addFile('test.pdf'); // 关闭zip文件 $zip->close();}?>
代码说明
此代码将创建一个文件test_overwrite.zip,如果该文件已经存在,文件将被此新文件覆盖。
创建一个新的zip文件并在指定文件夹中添加文件
<?php$zip = new ZipArchive;if ($zip->open('test_folder.zip', ZipArchive::CREATE) === TRUE){ // 将文件添加到zip文件中的demo_folder文件夹内 $zip->addFile('text.txt', 'demo_folder/test.txt'); $zip->addFile('test.pdf', 'demo_folder/test.pdf'); // 将random.txt文件添加到zip文件中的demo_folder文件夹内,并重命名为newfile.txt $zip->addFile('random.txt', 'demo_folder/newfile.txt'); // 将有指定内容的new.txt添加到zip文件中的demo_folder文件夹 $zip->addFromString('demo_folder/new.txt', '要添加到new.txt文件中的文本'); // 关闭zip文件 $zip->close();}?>