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脚本来实现这个功能,这是一个思路,希望大家可以研究研究。

(0)

相关推荐

  • php压缩多个CSS为一个css的代码并缓存

    复制代码 代码如下: <?php /* Compress multiple CSS files into one and cache for an hour. Use the same code for Javascript, but replace below "text/css" with "text/javascript" and of course make sure you include .js files instead of .css ones

  • php打包压缩文件之ZipArchive方法用法分析

    本文实例讲述了php打包压缩文件之ZipArchive方法用法.分享给大家供大家参考,具体如下: 前面说到了php打包压缩文件之PclZip方法,今天来说下另一种更为简单的方法,使用ZipArchive来压缩文件.这个是php的扩展类,自php5.2版本以后就已经支持这个扩展,如果你在使用的时候出现错误,查看下php.ini里面的extension=php_zip.dll前面的分号有没有去掉,然后再重启Apache这样才能使用这个类库. 使用ZipArchive压缩文件是非常简单的,php官网已

  • php压缩HTML函数轻松实现压缩html/js/Css及注意事项

    压缩HTML的起因 如何提高网页加载速度 ,需要怎么对html页面优化相信是每个拟提高建站技术站长曾想到的问题,其实网页优化的方法还是很多. 有童鞋询问higrid如何 压缩HTML,也就是说能不能 把所有的html.js.Css在运行前都压缩成一行,清除注释标记.换行符.空格.制表符等.这样一个直接的好处是 减小html页面体积来提高前端加载速度.很多人认为启动gzip,但一般启动gzip都比较少对html启动gzip压缩,因为现在的html都是动态的,不会使用浏览器缓存,而启用gzip的话每

  • php使用ZipArchive函数实现文件的压缩与解压缩

    PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法这里就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下利用php zipArchive进行文件的压缩与解压缩的常用的示例供参考. 一.解压缩zip文件 $zip=new ZipArchive;//新建一个ZipArchive的对象 if($zip->open('test.zip')===TRUE){ $zip->extr

  • php简单压缩css样式示例

    本文实例讲述了php简单压缩css样式的方法.分享给大家供大家参考,具体如下: $css = ''; //找css目录 $root = $_SERVER['DOCUMENT_ROOT'].'/css/'; //directory where the css lives $files = explode(',',$_SERVER['QUERY_STRING']); if(sizeof($files)) { foreach($files as $file) { $css.= (is_file($ro

  • php简单创建zip压缩文件的方法

    本文实例讲述了php简单创建zip压缩文件的方法.分享给大家供大家参考,具体如下: /* creates a compressed zip file */ function create_zip($files = array(),$destination = '',$overwrite = false) { //if the zip file already exists and overwrite is false, return false if(file_exists($destinati

  • 使用PHP实现下载CSS文件中的图片

    作为一个资深并且专业的扒皮人员,在我从初三开始投入伟大的互联网中到现在积累了丰富的扒皮经验.我相信每个做web的程序员也都会有类似的经历. 在扒皮过程中,必不可少的需要下载样式文件中的图片.碰到比较庞大的样式文件,其中可能会有上百个需要下载的图片,那么使用下面这段小代码是最为合适的了. < ?php /* More & Original PHP Framwork Copyright (c) 2007 - 2008 IsMole Inc. Author: kimi Documentation:

  • php使用gzip压缩传输js和css文件的方法

    本文实例讲述了php使用gzip压缩传输js和css文件的方法.分享给大家供大家参考.具体如下: <?php /** * 完整调用示例: * 1.combine.php?t=j&b=public&fs=jslib.jquery,function * * 该例子调用的是网站根目录下的public/jslib/jquery.js和public/function.js * * 2.combine.php?t=j&fs=jslib.jquery,function * * 该例子调用的

  • php实现压缩多个CSS与JS文件的方法

    本文实例讲述了php实现压缩多个CSS与JS文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 压缩css 复制代码 代码如下: <?php    header('Content-type: text/css');    ob_start("compress");    function compress($buffer) {        /* remove comments */        $buffer = preg_replace('!/\*[^*]*\*+(

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

    利用php实现将文件批量压缩打包下载,这个过程中将使用到 ZipArchive 这个类,注意使用该类之前,linux需开启zlib,windows需取消php_zip.dll前的注释.下面直接给出一个简单的将文件压缩为 zip 格式的示例.具体用法请查询php相关文档. <?php $filename='test.zip'; //最终生成的文件名(含路径) if(file_exists($filename)){ unlink($filename); } //重新生成文件 $zip=new Zip

  • JavaWeb 实现多个文件压缩下载功能

    文件下载时,我们可能需要一次下载多个文件.批量下载文件时,需要将多个文件打包为zip,然后再下载. 实现思路有两种: 一是将所有文件先打包压缩为一个文件,然后下载这个压缩包, 二是一边压缩一边下载,将多个文件逐一写入到压缩文件中.我这里实现了边压缩边下载. 下载样式: 点击下载按钮,会弹出下载框: 下载后就有一个包含刚刚选中的两个文件: 代码实现: FileBean public class FileBean implements Serializable { private Integer f

  • 基于Java文件输入输出流实现文件上传下载功能

    本文为大家分享了Java实现文件上传下载功能的具体代码,供大家参考,具体内容如下 前端通过form表单的enctype属性,将数据传递方式修改为二进制"流"的形式,服务端(servlet)通过  getInputStream() 获取流信息, 运用java I/O 流的基础操作将流写入到一个服务端临时创建的文件temp中,然后再次利用文件基本操作,读取并截取临时文件内容,根据其中信息创建相应的文件,将读取出来的具体信息写入,下载时,根据提交的文件名称,找到服务器端相应的文件,然后根据输

  • SpringBoot实现文件上传下载功能小结

    最近做的一个项目涉及到文件上传与下载.前端上传采用百度webUploader插件.有关该插件的使用方法还在研究中,日后整理再记录.本文主要介绍SpringBoot后台对文件上传与下载的处理. 单文件上传 // 单文件上传 @RequestMapping(value = "/upload") @ResponseBody public String upload(@RequestParam("file") MultipartFile file) { try { if (

  • FasfDFS整合Java实现文件上传下载功能实例详解

    在上篇文章给大家介绍了FastDFS安装和配置整合Nginx-1.13.3的方法,大家可以点击查看下. 今天使用Java代码实现文件的上传和下载.对此作者提供了Java API支持,下载fastdfs-client-java将源码添加到项目中.或者在Maven项目pom.xml文件中添加依赖 <dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</arti

  • Struts2 控制文件上传下载功能实例代码

    之前介绍servlet3.0新特性的时候有提到过servlet API提供了一个part类来实现对文件的上传和保存,Struts其实是在其基础上做了进一步的封装,更加简单易用.至于文件下载,Struts贯彻AOP 思想,在下载之前提供对用户权限控制的API. 下面我们将详细介绍上传和下载的相关内容. 一.Struts文件上传机制 想要实现文件上传功能,页面的表单的method属性必须被指定为post,还有enctype属性必须为multipart/form-data,该值表示上传的内容将会以二进

  • Spring Boot + thymeleaf 实现文件上传下载功能

    最近同事问我有没有有关于技术的电子书,我打开电脑上的小书库,但是邮件发给他太大了,公司又禁止用文件夹共享,于是花半天时间写了个小的文件上传程序,部署在自己的Linux机器上. 提供功能: 1 .文件上传 2.文件列表展示以及下载 原有的上传那块很丑,写了点js代码优化了下,最后界面显示如下图: 先给出成果,下面就一步步演示怎么实现. 1.新建项目 首先当然是新建一个spring-boot工程,你可以选择在网站初始化一个项目或者使用IDE的Spring Initialier功能,都可以新建一个项目

  • java中struts2实现文件上传下载功能实例解析

    本文实例讲述了java中struts2实现文件上传下载功能实现方法.分享给大家供大家参考.具体分析如下: 1.文件上传 首先是jsp页面的代码 在jsp页面中定义一个上传标签 复制代码 代码如下: <tr>      <td align="right" bgcolor="#F5F8F9"><b>附件:</b></td>      <td bgcolor="#FFFFFF">

  • C#实现的文件批量重命名功能示例

    本文实例讲述了C#实现的文件批量重命名功能.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; //C#批量重命名文件代码的实现 //添加文件操作空间引用 using System.IO;

  • vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)

    vue-cli+axios实现附件上传下载记录: 上传: 这里用formData格式传递参数:请求成功后后台返回上传文件的对应信息. 重点是下载: ############## downloadfile(res) { var blob = new Blob([res.data], {type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8'}); //applicati

随机推荐