当前位置: 首页 > 编程笔记 >

php生成zip文件类实例

胡浩瀚
2023-03-14
本文向大家介绍php生成zip文件类实例,包括了php生成zip文件类实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了php生成zip文件类。分享给大家供大家参考。具体如下:

<?php
 /*
  By:   Matt Ford
  Purpose: Basic class to create zipfiles
 */
class zipFile {
 public $files = array();
 public $settings = NULL;
 public $fileInfo = array (
   "name" => "",
   "numFiles" => 0,
   "fullFilePath" => ""
  );
 private $fileHash = "";
 private $zip = "";
 public function __construct($settings) {
  $this->zipFile($settings);
 }
 public function zipFile($settings) {
  $this->zip = new ZipArchive();
  $this->settings = new stdClass();
  foreach ($settings as $k => $v) {
   $this->settings->$k = $v;
  }
 }
 public function create() {
  $this->fileHash = md5(implode(",", $this->files));
  $this->fileInfo["name"] = $this->fileHash . ".zip";
  $this->fileInfo["numFiles"] = count($this->files);
  $this->fileInfo["fullFilePath"] = $this->settings->path . 
  "/" . $this->fileInfo["name"];
  if (file_exists($this->fileInfo["fullFilePath"])) {
   return array (
     false,
     "already created: " . $this->fileInfo["fullFilePath"]
     );
  }
  else {
   $this->zip->open($this->fileInfo["fullFilePath"], ZIPARCHIVE::CREATE);
   $this->addFiles();
   $this->zip->close();
   return array (
     true,
     "new file created: " . $this->fileInfo["fullFilePath"]
     );
  }
 }
 private function addFiles() {
  foreach ($this->files as $k) {
   $this->zip->addFile($k, basename($k));
  }
 }
}
$settings = array (
  "path" => dirname(__FILE__)
 );
$zipFile = new zipFile($settings);
$zipFile->files = array (
  "./images/navoff.jpg",
  "./images/navon.jpg"
 );
list($success, $error) = $zipFile->create();
if ($success === true) {
 //success
}
else {
 //error because: $error
}
?>

希望本文所述对大家的php程序设计有所帮助。

 类似资料:
  • 本文向大家介绍PHP静态文件生成类实例,包括了PHP静态文件生成类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP静态文件生成类。分享给大家供大家参考。 具体实现代码如下: 具体用法如下: 希望本文所述对大家的PHP程序设计有所帮助。

  • 本文向大家介绍php静态文件生成类实例分析,包括了php静态文件生成类实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php静态文件生成类。分享给大家供大家参考。 具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍PHP生成压缩文件实例,包括了PHP生成压缩文件实例的使用技巧和注意事项,需要的朋友参考一下 大概需求: 每一个订单都有多个文件附件,在下载的时候希望对当前订单的文件自动打包成一个压缩包下载 细节需求:当前订单号_年月日+时间.zip  例如: 1.生成压缩文件,压缩文件名格式: 2.压缩文件存放在根目录 /upload/zipfile/年月/自定义的压缩文件名.zip 3.点击下载

  • 本文向大家介绍php实现的zip文件内容比较类,包括了php实现的zip文件内容比较类的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现的zip文件内容比较类。是一个非常实用的PHP类文件。分享给大家供大家参考。具体分析如下: 该php zip文件比较类主要实现比较两个zip文件的内容,返回新增,删除,及相同的文件列表。暂时只支持单层。 需求:上传一个zip文件,zip内有很多图片

  • 我跟随了几篇文章,使用javaclass创建了一个zip文件。拉链已创建,但我无法打开它。在我的Mac电脑上,当我用命令打开它时,我收到了这条消息: 找不到中央目录签名的结尾。此文件不是zipfile,或者它构成多部分存档的一个磁盘。在后一种情况下,将在此存档的最后一个磁盘上找到中心目录和zipfile注释。 解压:在/Users/xxxx/Downloads/iad之一中找不到zipfile目录

  • 本文向大家介绍php将文件夹打包成zip文件的简单实现方法,包括了php将文件夹打包成zip文件的简单实现方法的使用技巧和注意事项,需要的朋友参考一下 示例如下: 以上就是小编为大家带来的php将文件夹打包成zip文件的简单实现方法全部内容了,希望大家多多支持呐喊教程~