php生成压缩文件(php gzip压缩)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

本篇文章给大家谈谈php生成压缩文件,以及php gzip压缩对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

php 压缩文件夹

php将文件夹打包成zip文件,参考代码如下:

function addFileToZip($path,$zip){

    $handler=opendir($path); //打开当前文件夹由$path指定。

    while(($filename=readdir($handler))!==false){

        if($filename != "."  $filename != ".."){//文件夹文件名字为'.'和‘..’,不要对他们进行操作

            if(is_dir($path."/".$filename)){// 如果读取的某个对象是文件夹,则递归

                addFileToZip($path."/".$filename, $zip);

            }else{ //将文件加入zip对象

                $zip-addFile($path."/".$filename);

            }

        }

    }

    @closedir($path);

}

$zip=new ZipArchive();

if($zip-open('images.zip', ZipArchive::OVERWRITE)=== TRUE){

    addFileToZip('images/', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法

    $zip-close(); //关闭处理的zip文件

}

如何在PHP中创建压缩的RAR文件

$filename = "./" . date ( 'YmdH' ) . ".zip"; // 最终生成的文件名(含路径)

// 生成文件

$zip = new ZipArchive (); // 使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释

if ($zip-open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) {

exit ( '无法打开文件,或者文件创建失败' );

}

//$fileNameArr 就是一个存储文件路径的数组 比如 array('/a/1.jpg,/a/2.jpg....');

foreach ( $fileNameArr as $val ) {

$zip-addFile ( $val, basename ( $val ) ); // 第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下

}

$zip-close (); // 关闭

PHP-php生成zip压缩文件如何给该文件加解压缩密码

?php

//需开启配置 php_zip.dll

//phpinfo();

header("Content-type:text/html;charset=utf-8");

function get_zip_originalsize($filename, $path) {

 //先判断待解压的文件是否存在

 if(!file_exists($filename)){

  die("文件 $filename 不存在!");

 } 

 $starttime = explode(' ',microtime()); //解压开始的时间

 //将文件名和路径转成windows系统默认的gb2312编码,否则将会读取不到

 $filename = iconv("utf-8","gb2312",$filename);

 $path = iconv("utf-8","gb2312",$path);

 //打开压缩包

 $resource = zip_open($filename);

 $i = 1;

 //遍历读取压缩包里面的一个个文件

 while ($dir_resource = zip_read($resource)) {

  //如果能打开则继续

  if (zip_entry_open($resource,$dir_resource)) {

   //获取当前项目的名称,即压缩包里面当前对应的文件名

   $file_name = $path.zip_entry_name($dir_resource);

   //以最后一个“/”分割,再用字符串截取出路径部分

   $file_path = substr($file_name,0,strrpos($file_name, "/"));

   //如果路径不存在,则创建一个目录,true表示可以创建多级目录

   if(!is_dir($file_path)){

    mkdir($file_path,0777,true);

   }

   //如果不是目录,则写入文件

   if(!is_dir($file_name)){

    //读取这个文件

    $file_size = zip_entry_filesize($dir_resource);

    //最大读取6M,如果文件过大,跳过解压,继续下一个

    if($file_size(1024*1024*6)){

     $file_content = zip_entry_read($dir_resource,$file_size);

     file_put_contents($file_name,$file_content);

    }else{

     echo "p ".$i++." 此文件已被跳过,原因:文件过大, - ".iconv("gb2312","utf-8",$file_name)." /p";

    }

   }

   //关闭当前

   zip_entry_close($dir_resource);

  }

 }

 //关闭压缩包

 zip_close($resource); 

 $endtime = explode(' ',microtime()); //解压结束的时间

 $thistime = $endtime[0]+$endtime[1]-($starttime[0]+$starttime[1]);

 $thistime = round($thistime,3); //保留3为小数

 echo "p解压完毕!,本次解压花费:$thistime 秒。/p";

}

$size = get_zip_originalsize('20131101.zip','temp/');

?

关于php生成压缩文件和php gzip压缩的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2023-04-08 05:04:44
收藏
分享
海报
40
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了