A-A+
php简单的压缩打包下载功能
在之前发布的文章里面已经生成了 txt 的文件,这些文件是需要生成压缩包进行下载的,先写了一个简单的压缩打包下载功能,就是在指定的目录下有一个压缩包,比如程序当中的 include 目录下 test.zip 文件,然后只要运行这个 php 程序文件,就出现下载压缩包的弹出窗,当我们把这个文件下载下来之后进行打开正常显示里面的文件。
夏日博客提供的分享代码如下:
<?php /** * 没有写成class 或者 function ,需要的朋友自己写,就这么几行。。 */ $filename = "./include/test.zip"; //最终生成的文件名(含路径) if(!file_exists($filename)){ //重新生成文件 $zip = new ZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释 if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) { exit('无法打开文件,或者文件创建失败'); } foreach( $datalist as $val){ $attachfile = $attachmentDir . $val['filepath']; //获取原始文件路径 if(file_exists($attachfile)){ $zip->addFile( $attachfile , basename($attachfile));//第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下 } } $zip->close();//关闭 } if( !file_exists($filename)){ exit("无法找到文件"); //即使创建,仍有可能失败。。。。 } //xiariboke.net header("Cache-Control: public"); header("Content-Description: File Transfer"); header('Content-disposition: attachment; filename='.basename($filename)); //文件名 header("Content-Type: application/zip"); //zip格式的 header("Content-Transfer-Encoding: binary"); //告诉浏览器,这是二进制文件 header('Content-Length: '. filesize($filename)); //告诉浏览器,文件大小 @readfile($filename); ?>
学习了,还有注解!真心好。
请问您这篇文章中分享代码部分,是用什么插件实现的,挺不错的。
这篇是 php 技术类的文章,跟 wordpress 没有关系,不是插件。
为什么一发技术类文章就没有人坐沙发,因为来访者大部分都不懂。而感悟类、聊天类比较容易激起大家的参与热情。
哎,技术类的还好写点,生活类的文章还真不太好写。