function create_zip($files = array(),$destination = '',$overwrite = false) {
//var_dump($files);
//如果zip文件已经存在并且设置为不重写返回false
if(file_exists($destination) && !$overwrite) { return false; }
$valid_files = array();
//获取到真实有效的文件名
if(is_array($files)) {
foreach($files as $file) {
//去掉真实名字
$service_file=substr($file,0,strripos($file,'@',0));
$real_name=substr($file,strlen($service_file),strlen($file)-strlen($service_file));
if(file_exists($service_file)) {
//验证文件再次把真实名字添加进去
$file=$service_file.$real_name;
$valid_files[] = $file;
}
}
}
//如果存在真实有效的文件
if(count($valid_files)) {
$zip = new ZipArchive();
//打开文件 如果文件已经存在则覆盖,如果没有则创建
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
}
//向压缩文件中添加文件
foreach($valid_files as $file) {
$service_file=substr($file,0,strripos($file,'@',0));
$real_name=substr($file,strlen($service_file)+1,strlen($file)-strlen($service_file));
$file=$service_file;
$file_info_arr= pathinfo($file);
$filename =$real_name;
$zip->addFile($file,$filename);
}
//关闭文件
$zip->close();
//检测文件是否存在
return file_exists($destination);
}else{
//如果没有真实有效的文件返回false
return false;
}
}
分享到:
相关推荐
介绍了php文件压缩之PHPZip类用法,实例分析了...1、解压缩zip文件 2、将文件压缩成zip文件 3、追加文件到zip文件 4、将文件夹打包成zip文件(需要循环添加文件与创建空文件夹) 5、删除压缩文件中的条目
### PHP压缩ZIP文件知识点 #### 一、PHP与ZIP文件操作简介 在PHP开发中,经常需要对文件进行压缩操作,比如将一个或多个文件压缩成一个ZIP文件以供下载或其他处理。本篇将详细介绍如何利用PHP内置的`ZipArchive`类...
下面是一个基本的示例,演示如何使用PHP创建一个新的ZIP文件,并将多个文件添加到其中: ```php <?php // 创建一个新的ZipArchive实例 $zip = new ZipArchive(); // 打开或创建名为'example.zip'的ZIP文件 if ($...
介绍了php文件压缩之PHPZip类用法,实例分析了PHPZip类的...1、解压缩zip文件 2、将文件压缩成zip文件 3、追加文件到zip文件 4、将文件夹打包成zip文件(需要循环添加文件与创建空文件夹) 5、删除压缩文件中的条目
ZIP文件可以包含多种类型的文件,并且支持文件压缩,以减少存储空间占用。在PHP中处理ZIP文件,我们可以借助内置的ZipArchive类。 标题"PHP在线压缩解压ZIP文件"指的是利用PHP编写的服务,用户可以在浏览器中直接...
例如,可以使用`open()`方法打开或创建一个ZIP文件,`addFromString()`用于将字符串内容添加为新的ZIP条目,`addFile()`则可将实际文件添加到压缩包中,最后通过`close()`方法保存所有变更。 在线压缩程序的实现...
最后关闭ZIP文件,完成压缩过程。 在进行在线压缩时,还需要考虑用户界面和错误处理。你可以创建一个HTML表单,让用户输入要压缩的文件夹路径,然后通过POST请求将该路径传递给上述PHP脚本。同时,要确保处理可能...
以下是一个简单的示例,展示如何将单个文件压缩成ZIP文件: ```java import java.io.*; import java.util.zip.*; public class ZipUtil { public static void zipFile(String srcFilePath, String ...
本文将深入探讨如何使用PHP实现在线快速压缩和解压ZIP文件。ZIP是一种常见的文件格式,用于存储多个文件和目录,它能有效地压缩数据,便于传输和存储。 首先,我们来看`pclzip.lib.php`这个文件。PCLZip是一个用PHP...
下面是一个简单的示例代码,展示如何将一个文件夹打包成ZIP文件: ```php <?php // 创建并初始化一个新的ZipArchive对象 $zip = new ZipArchive(); // 定义目标ZIP文件名 $zip_file = 'my_archive.zip'; // 打开...
本文将详述如何使用PHP实现在线解压和压缩ZIP文件的功能,以及与之相关的技术点。 首先,我们要理解PHP处理ZIP文件的核心库是`ZipArchive`。这个类提供了创建、读取、修改和提取ZIP文件的能力。在`myunzip.php`和`...
本文将深入探讨“一个很实用的PHP ZIP压缩类库源码文件”,帮助开发者理解如何利用PHP处理ZIP文件,提升工作效率。 首先,我们要知道PHP内置了`ZipArchive`类,它是用于处理ZIP文件的主要工具。然而,为了简化操作...
ZIP文件可以用来存储和传输数据,通过将多个文件打包成一个单一的文件,可以节省存储空间和提高传输效率。 2. **PHP的ZipArchive类**: PHP从5.2.0版本开始引入了`ZipArchive`类,这是PHP内建的处理ZIP文件的工具...
在PHP中,将多个文件压缩成ZIP格式并下载到本地是一项常见的任务,尤其在处理大量文件上传、备份或数据传输时。以下是如何使用PHP实现这一功能的详细步骤和相关知识点: 1. **创建ZIP Archive对象**: PHP的`Zip...
3. **zip**:zip是一种常用的文件压缩格式,PHP中的`ZipArchive`类提供了对zip文件的处理,包括添加、删除、列出和提取文件。例如,你可以创建一个新的`ZipArchive`对象,然后调用`open()`方法打开或创建一个zip文件...
1. **`addDirectory($dirPath, $arcName='')`**:此方法将指定的目录及其所有子目录添加到ZIP文件中。`$arcName`参数可以用来设置在ZIP文件中显示的目录名。 2. **`addFile($filePath, $arcName='')`**:将单个文件...
【PHP在线解、压缩ZIP文件程序 V1.0】是一个基于PHP开发的实用工具,它允许用户通过Web界面实现ZIP文件的在线解压和压缩。这个程序为网站管理员提供了便捷的方式来处理用户上传的ZIP文件,无需下载到本地,直接在...
在PHP中,将多个图片压缩成ZIP文件是一个常见的任务,特别是在网站开发中处理用户上传的图片时。这个过程涉及到文件操作、编码处理以及利用PHP的内置函数或第三方库来完成压缩工作。以下是对这个主题的详细说明: 1...
这篇博文“php压缩zip文件(多级目录,自定义目录名)”提供了一种方法来创建包含多级目录和自定义目录名称的ZIP压缩文件。这在上传、备份或者分发含有大量文件和子目录的项目时非常有用。下面将详细介绍如何实现这...
"PHP生成压缩文,不带要压缩文件的根目录"这个话题,主要涉及的是如何使用PHP的ZipArchive类来创建一个ZIP文件,但不包含源文件的根目录路径。下面将详细介绍这一知识点及其相关技术。 首先,我们需要了解PHP的Zip...