您正在使用IPV4(34.230.9.187)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器 行情 简化版
文明驾车我带头,文明行路我带头,礼貌让座我带头      

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年74元      
[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
2022年 情人节 27
2022年 元宵节 28
2023年 元 旦 348
2022年 春 节 14
 
  • 本类新增
    本类热门文章
    您现在的位置:首页 >> PHP >> 内容
    PHP 实现文件压缩解压操作的方法
    内容摘要: 在php中,有时我们需要使用到压缩文件操作,压缩文件可以节省磁盘空间;且压缩文件更小,便于网络传输,效率高,下面我们就来了解php的压缩解压相关操作在ZipArchive类中主要使用到了如下方法:$zip=new\ZipArchive;$zip-open('test_new.zip',\ZipArchive::CREATE)pZIPARCHIVE::CREA......
    在php中,有时我们需要使用到压缩文件操作,压缩文件可以节省磁盘空间;且压缩文件更小,便于网络传输,效率高,下面我们就来了解php的压缩解压相关操作

    在ZipArchive类中主要使用到了如下方法:

    $zip=new\ZipArchive;

    $zip->open('test_new.zip',\ZipArchive::CREATE)

    <p>ZIPARCHIVE::CREATE如果指定的zip文件不存在,则新建一个

    </p><p>ZIPARCHIVE::CHECKCONS对指定的zip执行其他一致性测试

    </p><divclass="zixuephpcode">

    <preclass="brush:php;">//将test.txt文件添加到压缩包中

    $zip->addFile('test.txt');//第二个参数可对文件进行重命名

    <divclass="zixuephpcode">

    <preclass="brush:php;">//将一个空的目录添加到zip中

    $zip->addEmptyDir('newdir');

    <divclass="zixuephpcode">

    <preclass="brush:php;">//将有指定内容的new.txt文件添加到zip文件中

    $zip->addFromString('new.txt','要添加到new.txt文件中的文本');

    <divclass="zixuephpcode">

    <preclass="brush:php;">$zip->extractTo('test');

    <divclass="zixuephpcode">

    <preclass="brush:php;">$zip->getNameIndex(0);//返回压缩包中索引为0的文件名称

    <divclass="zixuephpcode">

    <preclass="brush:php;">$zip->getStream('hello.txt');

    <divclass="zixuephpcode">

    <preclass="brush:php;">/把压缩文件内第一个文件修改成newname.txt

    $zip->renameIndex(0,'newname.txt');

    <divclass="zixuephpcode">

    <preclass="brush:php;">//把压缩文件内的word.txt修改成newword.txt

    $zip->renameName('word.txt','newword.txt');

    <preclass="brush:php;">/把压缩文件内第一个文件删除

    $zip->deleteIndex(0);

    <divclass="zixuephpcode">

    <preclass="brush:php;">//把压缩文件内的word.txt删除

    $zip->deleteName('word.txt');

    <p><spanstyle="color:#ff0000"><strong>一:创建一个压缩包

    </strong></span></p><preclass="brush:php;"><strong>$zip=new\ZipArchive;

    if($zip->open('test_new.zip',\ZipArchive::CREATE)===true)

    {

    //将指定文件添加到zip中

    $zip->addFile('test.txt');

    //test.txt文件添加到zip并将其重命名为newfile.txt

    $zip->addFile('test.txt','newfile.txt');

    //将test.txt文件添加到zip文件中的test文件夹内

    $zip->addFile('test.txt','test/newfile.txt');

    //将一个空的目录添加到zip中

    $zip->addEmptyDir('test');

    //将有指定内容的new.txt文件添加到zip文件中

    $zip->addFromString('new.txt','要添加到new.txt文件中的文本');

    //将有指定内容的new.txt添加到zip文件中的test文件夹

    $zip->addFromString('test/new.txt','要添加到new.txt文件中的文本');

    //将images目录下所有文件添加到zip中

    if($handle=opendir('images')){

    //添加目录中的所有文件

    while(false!==($entry=readdir($handle))){

    if($entry!="."&&$entry!=".."&&!is_dir('images/'.$entry)){

    $zip->addFile('images/'.$entry);

    }

    }

    closedir($handle);

    }

    //关闭zip文件

    $zip->close();

    }

    <strong>二:获取压缩包的文件信息并解压指定压缩包

    <preclass="brush:php;">$zip=new\ZipArchive;

    if($zip->open('test_new.zip')===true){

    //获取索引为0的文件名称

    var_dump($zip->getNameIndex(0));

    //将压缩包文件解压到test目录下

    $zip->extractTo('test');

    //获取压缩包指定文件的文本流

    $stream=$zip->getStream('test.txt');

    //关闭zip文件

    $zip->close();

    $str=stream_get_contents($stream);//这里注意获取到的文本编码

    var_dump($str);

    }

    <strong>三:修改压缩包内指定文件的文件名称及删除压缩包内指定文件

    <preclass="brush:php;">$zip=new\ZipArchive;

    if($zip->open('test_new.zip')===true){

    //把压缩文件内索引为0的文件修改成newname.txt

    $zip->renameIndex(0,'newname.txt');

    //把压缩文件内的new.txt修改成newword.txt

    $zip->renameName('new.txt','newword.txt');

    //删除压缩文件内索引为0的文件

    $zip->deleteIndex(0);

    //删除压缩文件的test.png

    $zip->deleteName('test.png');

    //关闭zip文件

    $zip->close();

    }

    版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
    上一篇:php+js实现的无刷新下载文件功能示例 下一篇:PHP实现将上传图片自动缩放到指定分辨率,并保持清晰
    发布日期:2021/12/4
    手机扫二维码直达本页
    发布时间:10:22:06
    点击:47
    录入:齐天大圣
    相关文章
    Baidu
    YiJiaCMS 6.1.0.10988 Build 21.12.28(MSSQL) 闽ICP备05000814号-1
    本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护

    Copyright©2000-2022