• zip生成


    生成zip文件官方网站:http://www.phpconcept.net/pclzip/

     

    用法一:

    1 <?php

    2     include_once('pclzip.lib.php');

    3     $archive = new PclZip('archive.zip');

    4     $v_list = $archive->create('file.txt,data/text.txt,folder');

    5     if ($v_list == 0) {

    6         die("Error : ".$archive->errorInfo(true));

    7     }

    8 ?>

    用法二:

    01 <?php

    02     include_once('pclzip.lib.php');

    03     $archive = new PclZip('archive.zip');

    04     $v_list = $archive->create('data/file.txt,data/text.txt',

    05                             PCLZIP_OPT_REMOVE_PATH, 'data',

    06                             PCLZIP_OPT_ADD_PATH, 'install');

    07     if ($v_list == 0) {

    08         die("Error : ".$archive->errorInfo(true));

    09     }

    10 ?>

    看见create方法的参数没有,再看看方法原型你就知道如何淫荡了。至少我还没有这样用过。

    以下为一个简单的压缩全站进行备份的代码:

    1 <?php

    2 require_once('pclzip.lib.php');

    3 $zip = new PclZip("archive.zip");

    4 $v_list = $zip->create($_SERVER['DOCUMENT_ROOT'] ,PCLZIP_OPT_REMOVE_PATH,$_SERVER['DOCUMENT_ROOT']);

    5 if($v_list == 0){ echo '异常:'.$z->errorInfo(true); }

    6 else { echo '备份成功'; }

    7 ?>

    其他使用方法:

    01 <?php

    02 //解压缩到extract/folder/这个目录中      

    03 $list = $archive->extract(PCLZIP_OPT_PATH, "extract/folder/");      

    04          

    05 //增加这个目录在压缩档中,完成以后压缩档里面会有backup这个目录,backup里面会有这两个档案      

    06 $list = $archive->create("file.txt,image.gif",PCLZIP_OPT_ADD_PATH,"backup");      

    07          

    08 //去掉部份的路径,这里完成后会变成test/file.txt      

    09 $list = $archive->add("/usr/local/user/test/file.txt",PCLZIP_OPT_REMOVE_PATH,"/usr/local/user");      

    10          

    11 //把所有路径都去掉,这个压缩档建立完后,里面就只会有file.txt跟image.gif,不会有目录了      

    12 $list = $archive->create("data/file.txt images/image.gif",PCLZIP_OPT_REMOVE_ALL_PATH);      

    13          

    14 //把解压缩出来的档案的CHMOD设成0777      

    15 $list = $archive->extract(PCLZIP_OPT_SET_CHMOD, 0777);      

    16      

    17 //解压缩部份的档案,这个参数是使用档案名称判别      

    18 //引数可以用下面这样的阵列      

    19 $rule_list[0] = 'test/aaa.txt';      

    20 $rule_list[1] = 'test/ddd.txt';      

    21 //或是下面这样,一个字串中,用逗号分隔每个要解压缩的档案      

    22 $rule_list = "test/aaa.txt,test/ddd.txt";      

    23 $list = $archive->extract(PCLZIP_OPT_BY_NAME,$rule_list);      

    24          

    25 //解压缩部份的档案,使用php的ereg()函式,档案名称有比对成功的都会被解压缩      

    26 $list = $archive->extract(PCLZIP_OPT_BY_EREG, "aa");      

    27          

    28 //解压缩部份的档案,使用php的preg_match()函式,档案名称有比对成功的都会被解压缩      

    29 $list = $archive->extract(PCLZIP_OPT_BY_PREG, "/^bb/");      

    30 //上面这两个函式如果不懂的话,请先研究正规表示法(Regular Expression)      

    31          

    32 //依照阵列中元素的索引解压缩,可是我不太懂index啥 = =a      

    33 $list = $archive->extract(PCLZIP_OPT_BY_INDEX, array('0-1','6-7'));      

    34          

    35 //将一个档案内容解压缩成一个字串      

    36 $list = $archive->extract(PCLZIP_OPT_BY_NAME,"data/readme.txt",PCLZIP_OPT_EXTRACT_AS_STRING);      

    37          

    38 //将一个档案内容解压缩完后直接输出(echo)      

    39 $list = $archive->extract(PCLZIP_OPT_BY_NAME,"data/readme.txt",PCLZIP_OPT_EXTRACT_IN_OUTPUT);      

    40          

    41 //将一个档案加入一个压缩档中,但不会对此档案压缩      

    42 $list = $archive->add("data/file.txt", PCLZIP_OPT_NO_COMPRESSION);      

    43          

    44 //对此压缩档增加一个注解,如果原本就有注解的话会被覆盖掉      

    45 $list = $archive->create("data", PCLZIP_OPT_COMMENT, "Add a comment");      

    46          

    47 //对此压缩档增加一个注解,如果原本就有注解的话会接在后面      

    48 $list = $archive->add("data", PCLZIP_OPT_ADD_COMMENT, "Add a comment after the existing one");      

    49          

    50 //对此压缩档增加一个注解,如果原本就有注解的话会放在原本的注解前面      

    51 $list = $archive->add("data", PCLZIP_OPT_PREPEND_COMMENT, "Add a comment before the existing one");     

    52 ?>

     

  • 相关阅读:
    case when then 根据不同条件 查询不同的数据 相当于 if-else if-else
    完美的拼接sql语句,中间可以加字符等东西,
    C++抽象类
    C #引用NuGet程序包MySQLData问题
    win10磁盘100%占用解决方法
    C# ASP.NetCore 检测到包降级
    VS 命令“npm install”已退出的问题
    序列化和反序列化含义
    数据库MySQL忘记本地密码
    MongoDB授予权限
  • 原文地址:https://www.cnblogs.com/adtuu/p/5213356.html
Copyright © 2020-2023  润新知