在开发Web应用程序时,很有可能您会遇到不同格式的文件——CSV数据、密码文件、XML编码的内容和不同形式的二进制的数据。您的PHP脚本将需要频繁地和这些文件交互,从中读取数据和将数据写入其中。由于有这么些格式的文件要处理,所以您就不要意外PHP中有那么多种类型的内置函数和外部的库,用来连接和使用几乎所有您能说出名称的文件格式。
这篇PHP创建ZIP档案文件指南就是关于这样一种文件格式的,可能应用程序开发者几乎每天都会遇到这种文件:ZIP格式。一般这种格式是用来通过电子邮件和远程连接传输文件的,能够将多个文件压缩到一个档案文件中,因此,减少了文件的硬盘占据空间,并且能够更容易地移动它们。PHP通过它的ZZipLib插件和PEAR的Archive_Zip类都可以读取和创建这些ZIP文件。
我将假设您已经有了正常运行的Apache,安装了PHP,并且PEAR Archive_Zip class类已经正确安装了。
注意:您可以直接从网上安装PEAR Archive_Zip程序包,要么下载它,还可以利用提供的指示。
PHP创建ZIP档案文件
让我们从一个简单的例子开始:动态地创建一个包括几个其他文件的ZIP档案文件。以列表A中的脚本开始。
列表A
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><span> ?php </span></span></span></li> <li><span>include ('Archive/Zip.php'); </span></li> <li><span>// imports </span></li> <li class="alt"> <span>$</span><span class="attribute">obj</span><span> = </span><span class="attribute-value">new</span><span> Archive_Zip('test.zip'); </span> </li> <li class="alt"><span>// name of zip file </span></li> <li> <span>$</span><span class="attribute">files</span><span> = </span><span class="attribute-value">array</span><span>('mystuff/ad.gif', </span> </li> <li class="alt"><span>'mystuff/alcon.doc', </span></li> <li><span>'mystuff/alcon.xls'); </span></li> <li><span>// files to store </span></li> <li class="alt"> <span>if ($obj-</span><span class="tag">></span><span>create($files)) { </span> </li> <li><span>echo 'Created successfully!'; </span></li> <li class="alt"><span>} else { </span></li> <li><span>echo 'Error in file creation'; </span></li> <li class="alt"><span>} </span></li> <li> <span class="tag">?></span><span> </span> </li> </ol>
以上就是PHP创建ZIP档案文件的相关技巧。