zoukankan      html  css  js  c++  java
  • TbsZip:PHP的Zip压缩包处理类

    TbsZip 是一个 PHP 的类用来读写 Zip 压缩文件包,该类无需 PHP 扩展或者是临时文件。TbsZip 可以对压缩文档中的文件进行读、写、修改和删除操作。

    官方首页:http://www.tinybutstrong.com/apps/tbszip/tbszip_help.html

    系统附带的演示代码,很详细:

    <?
    
    /* Some code examples for TbsZip
    Skrol29, 2010-09-03
    */
    
    
    include_once('tbszip.php'); // load the TbsZip library
    $zip = new clsTbsZip(); // create a new instance of the TbsZip class
    
    
    $zip->CreateNew(); // start a new empty archive for adding files
    // or
    $zip->Open('an_existing_archive.zip'); // open an existing archive for reading and/or modifying
    
    
    // --------------------------------------------------
    // Reading information and data in the opened archive
    // --------------------------------------------------
    
    // check if a file is existing in the archive, the name must precise subfolders if any
    $ok = $zip->FileExists('subfolder/help.html');
    
    // count the files stored in the archive
    $file_nbr = count($zip->CdFileLst);
    
    // retrieve the content of an compressed file in the archive
    $text1 = $zip->FileRead('readme.txt');
    
    // retrieve the content of an compressed file in a subfolder of the archive
    $text2 = $zip->FileRead('subfolder/readme.txt');
    
    
    if ($ok) $zip->FileExists('subfolder/help.html');
    
    // -----------------------------
    // Modifying data in the archive
    // -----------------------------
    
    // add a file in the archive
    $zip->FileAdd('newfile.txt', $data, TBSZIP_STRING); // add the file by giving the content
    $zip->FileAdd('newpic1.png', './images/localpic1.png', TBSZIP_FILE);        // add the file by copying a local file
    $zip->FileAdd('newpic2.png', './images/localpic2.png', TBSZIP_FILE, false); // add the uncompressed file by copying a local file
    
    // delete an existing file in the archive
    $zip->FileReplace('newfile.txt', $data, TBSZIP_STRING); // replace the file by giving the content
    $zip->FileReplace('newpic1.png', './images/localpic1.png', TBSZIP_FILE);        // replace the file by copying a local file
    $zip->FileReplace('newpic2.png', './images/localpic2.png', TBSZIP_FILE, false); // replace the uncompressed file by copying a local file
    $zip->FileReplace('newpic3.png', false);                                        // delete the file in the archive
    
    // cancel the last modification on the file (add/replace/delete)
    $zip->FileCancelModif('newpic2.png');
    
    // ----------------------
    // Applying modifications
    // ----------------------
    
    $zip->Flush(TBSZIP_FILE, './save/new_archive.zip'); // apply modifications as a new local file
    
    // apply modifications as an HTTP downloaded file
    $zip->Flush(TBSZIP_DOWNLOAD, 'download.zip');
    $zip->Flush(TBSZIP_DOWNLOAD, 'download.zip', 'application/zip'); // with a specific Content-Type
    
    // apply modifications as a downloaded file with your customized HTTP headers
    header("Content-type: application/force-download");
    header("Content-Disposition: attachment; filename=download.zip");
    header("Expires: Fri, 01 Jan 2010 05:00:00 GMT");
    $zip->Flush(TBSZIP_DOWNLOAD+TBSZIP_NOHEADER);
    
    
    // -----------------
    // Close the archive
    // -----------------
    
    $zip->Close(); // stop to work with the opened archive. Modifications are not applied to the opened archive, use Flush() to commit  
  • 相关阅读:
    课堂作业04 2017.10.27
    课程作业 03 动手动脑 2017.10.20
    课程作业 03 2017.10.20
    HDU 3974 Assign the task
    POJ 2155 Matrix
    POJ 2481 Cows
    HDU 3038 How Many Answers Are Wrong
    CS Academy Array Removal
    POJ_1330 Nearest Common Ancestors LCA
    CF Round 427 D. Palindromic characteristics
  • 原文地址:https://www.cnblogs.com/eastson/p/2886968.html
Copyright © 2011-2022 走看看