zoukankan      html  css  js  c++  java
  • pclzip 压缩文件与解压

    类PclZip.class.php下载:PclZip.rar
    
    <?php
    header("Content-type: text/html; charset=utf-8");
    
    function createAddZip($zip_url, $files) { //添加文件到压缩文件
        $files = getZipGbk($files);
        set_time_limit(0);
        require_once("PclZip.class.php");
        $zip = new PclZip($zip_url);
        $rs = $zip->create($files);
        if ($rs == 0) {
            die("Error : " . $zip->errorInfo(true));
        }
    }
    
    function createReplaceZip($zip_url, $files, $name, $name_replace) { //添加文件到压缩文件,并且替换相关路径
        $files = getZipGbk($files);
        set_time_limit(0);
        require_once("PclZip.class.php");
        $zip = new PclZip($zip_url);
        $rs = $zip->create($files, PCLZIP_OPT_REMOVE_PATH, $name, PCLZIP_OPT_ADD_PATH, $name_replace);
        if ($rs == 0) {
            die("Error : " . $zip->errorInfo(true));
        }
    }
    
    function replacePathExtract($zip_url, $file_path, $file_path_remove) { //解压压缩文件并且添加或移除解压后的文件路径
        set_time_limit(0);
        require_once("PclZip.class.php");
        $zip = new PclZip($zip_url);
        $rs = $zip->extract(PCLZIP_OPT_PATH, $file_path, PCLZIP_OPT_REMOVE_PATH, $file_path_remove); //PCLZIP_OPT_PATH:添加路径,PCLZIP_OPT_REMOVE_PATH:移除原来的路径
    }
    
    function removePathZip($zip_url, $files, $path_remove) { //添加文件到压缩文件,移除指定路径
        $files = getZipGbk($files);
        set_time_limit(0);
        require_once("PclZip.class.php");
        $zip = new PclZip($zip_url);
        $rs = $zip->add($files, PCLZIP_OPT_REMOVE_PATH, $path_remove); //移除路径file
    }
    
    function showFilesList($zip_url) { //列出压缩文件列表
        require_once("PclZip.class.php");
        $zip = new PclZip($zip_url);
    
        if (($list = $zip->listContent()) == 0) {
            die("Error : " . $zip->errorInfo(true));
        }
    
        for ($i = 0; $i < sizeof($list); $i++) {
            for (reset($list[$i]); $key = key($list[$i]); next($list[$i])) {
                echo "File " . $i . " / [" . $key . "] = " . $list[$i][$key] . "<br />";
            }
            echo "<br />";
        }
    }
    
    function getZipGbk($file) {
        $arr = explode(",", $file);
        foreach ($arr as $v) {
            $names[] = iconv('UTF-8', 'GB2312', $v);
        }
        return implode(",", $names);
    }
    
    //演示一:添加文件到压缩文件
    //createAddZip("more.zip","test/ResponsiveSlides幻灯片效果/,test/素材火帮助.txt");//参数1 生成的压缩文件名称,参数2 要压缩的文件(多个文件逗号隔开)
    // createAddZip("haha.zip","a.jpg,a.php,a.txt");
    //演示二:添加文件到压缩文件,并且替换相关路径
    //createReplaceZip("more.zip","test/ResponsiveSlides幻灯片效果/,test/素材火帮助.txt","test","zip");//参数2 要压缩的文件(多个文件逗号隔开) 参数3:移除的文件路径,参数4,:添加的文件路径
    // createReplaceZip("haha.zip","b.txt","txt","zip");
    //演示三:解压压缩文件并且添加或移除解压后的文件路径
    //replacePathExtract("more.zip", "", "zip"); //参数2 添加路径,参数3 移除路径
    
    //演示四:添加文件到压缩文件,移除指定路径
    //removePathZip("more.zip", "test/js", "test"); //参数2 添加路径,参数3 移除路径
    
    //演示五://列出压缩文件列表
    
    showFilesList("haha.zip");
  • 相关阅读:
    第一讲 递归与循环3
    第一讲 递归与循环2
    第一讲 递归与循环1
    [转]批处理
    VBA运算符(九)
    VBA常量(八)
    VBA变量(七)
    VBA输入框(InputBox)(六)
    VBA消息框(MsgBox)(五)
    VBA宏注释(四)
  • 原文地址:https://www.cnblogs.com/wuheng1991/p/5102396.html
Copyright © 2011-2022 走看看