php实现网站文件批量压缩下载功能

yipeiwu_com6年前PHP代码库

利用php实现将文件批量压缩打包下载,这个过程中将使用到 ZipArchive 这个类,注意使用该类之前,linux需开启zlib,windows需取消php_zip.dll前的注释。下面直接给出一个简单的将文件压缩为 zip 格式的示例。具体用法请查询php相关文档。

<?php 
$filename='test.zip'; //最终生成的文件名(含路径) 
if(file_exists($filename)){ 
  unlink($filename); 
} 
//重新生成文件 
$zip=new ZipArchive(); 
if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){ 
  exit('无法打开文件,或者文件创建失败'); 
} 
$datalist=array('try.php','zip_class.php'); 
foreach($datalist as $val){ 
  if(file_exists($val)){ 
    $zip->addFile($val); 
  } 
} 
$zip->close();//关闭 
if(!file_exists($filename)){ 
  exit('无法找到文件'); //即使创建,仍有可能失败 
} 

以上就是php实现将文件批量压缩打包下载的全部内容,我们也还可以利用php调用linux系统的shell脚本来实现这个功能,这是一个思路,希望大家可以研究研究。

相关文章

PHP序列化的四种实现方法与横向对比

PHP序列化的四种实现方法与横向对比

一、PHP 序列化变量的 4 种方法 序列化是将变量转换为可保存或传输的字符串的过程;反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来,可以轻松地存储和传输...

PHP扩展Memcache分布式部署方案

基础环境 其实基于PHP扩展的Memcache客户端实际上早已经实现,而且非常稳定。先解释一些名词,Memcache是danga.com的一个开源项目,可以类比于MySQL这样的服务,...

php设计模式之单例模式实例分析

本文实例讲述了php设计模式之单例模式。分享给大家供大家参考。具体分析如下: 单例模式(职责模式): 简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任...

PHP实现对数字分隔加千分号的方法

对于较大数字,添加千分号可以方便快速地读出数值。千分号是指从最右边开始,每隔三位加个逗号。这种写法很广泛,来源大概是因为英文中 Thousand,千、million,百万、billion...

有关phpmailer的详细介绍及使用方法

第一,需要下载PHPMailer文件包phpmailer. http://phpmailer.sourceforge.net/第二,确认你的服务器系统已经支持socket ,通过phpi...