VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • php生成zip文件类实例

这篇文章主要介绍了php生成zip文件类,实例分析了php操作zip文件的技巧,非常具有实用价值,需要的朋友可以参考下。

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

  1. <?php 
  2.  /* 
  3.   By:   Matt Ford 
  4.   Purpose: Basic class to create zipfiles 
  5.  */ 
  6. class zipFile { 
  7.  public $files = array(); 
  8.  public $settings = NULL; 
  9.  public $fileInfo = array ( 
  10.    "name" => ""
  11.    "numFiles" => 0, 
  12.    "fullFilePath" => "" 
  13.   ); 
  14.  private $fileHash = ""
  15.  private $zip = ""
  16.  public function __construct($settings) { 
  17.   $this->zipFile($settings); 
  18.  } 
  19.  public function zipFile($settings) { 
  20.   $this->zip = new ZipArchive(); 
  21.   $this->settings = new stdClass(); 
  22.   foreach ($settings as $k => $v) { 
  23.    $this->settings->$k = $v
  24.   } 
  25.  } 
  26.  public function create() { 
  27.   $this->fileHash = md5(implode(","$this->files)); 
  28.   $this->fileInfo["name"] = $this->fileHash . ".zip"
  29.   $this->fileInfo["numFiles"] = count($this->files); 
  30.   $this->fileInfo["fullFilePath"] = $this->settings->path .  
  31.   "/" . $this->fileInfo["name"]; 
  32.   if (file_exists($this->fileInfo["fullFilePath"])) { 
  33.    return array ( 
  34.      false, 
  35.      "already created: " . $this->fileInfo["fullFilePath"
  36.      ); 
  37.   } 
  38.   else { 
  39.    $this->zip->open($this->fileInfo["fullFilePath"], ZIPARCHIVE::CREATE); 
  40.    $this->addFiles(); 
  41.    $this->zip->close(); 
  42.    return array ( 
  43.      true, 
  44.      "new file created: " . $this->fileInfo["fullFilePath"
  45.      ); 
  46.   } 
  47.  } 
  48.  private function addFiles() { 
  49.   foreach ($this->files as $k) { 
  50.    $this->zip->addFile($kbasename($k)); 
  51.   } 
  52.  } 
  53. $settings = array ( 
  54.   "path" => dirname(__FILE__
  55.  ); 
  56. $zipFile = new zipFile($settings); 
  57. $zipFile->files = array ( 
  58.   "./images/navoff.jpg"
  59.   "./images/navon.jpg" 
  60.  ); 
  61. list($success$error) = $zipFile->create(); 
  62. if ($success === true) { 
  63.  //success 
  64. else { 
  65.  //error because: $error 
  66. ?>
  67.  



出处:http://www.phpfensi.com/php/20210522/15681.html


相关教程