问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-23 01:48

我来回答

1个回答

热心网友 时间:2022-04-06 05:34

<?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/');
?>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
行车工退休是否有工龄年限限制?男士、女士的的退休年龄。 北京中新惠尔健康科技有限公司解决方案 北京中新惠尔健康科技有限公司公司文化 北京中新惠尔健康科技有限公司服务产品 北京中新惠尔健康科技有限公司历史沿革 北京中新惠尔健康科技有限公司惠尔简介 速腾能放多久? 昆山汽车搭电多少钱? 比亚迪救急估计电瓶没电了 盒马员工超过1小时算不算大吧 PHP的源码包是什么?php的zip压缩包呢?php的windows安装包呢?_百度知 ... PHP网页上打包文件生成压缩文件zip,并弹出下载 PHP如何开启ZIP模块 php如何下载zip文件?类似跳转 PHP下载zip文件到本地并解压 请问怎么把php文件转化成zip文件? 请高手指点:PHP 如何解压缩zip格式压缩的文件或压缩文件夹内的文件到... php的zip解压到哪里? 如何安装 php 的zip模块 PHP解压ZIP问题 PHP如何解压zip数据流 PHP怎么解压ZIP文件 怎样用php压缩解压rar,zip文件? 不是微信好友怎么样才可以看到对方的? 怎样才能知道非微信好友的 wxid开头的不是自已的,一登陆就是wxid开头,怎么才能恢复。 如何查出非好友的我想要用另一个加他? 不是自己手机申请的怎么找回 微信迁移显示非当前帐号是什么意思 不是自己实名的被盗了怎么找回 为什么php创建zip文件不管用 PHP 调用自带的ZIP 压缩文件时候出现中文文件报错问题 php 建议扩展配置zip?什么意思?如何配置,请高手指教! 用PHP如何检测一个ZIP包内的文件是在何种编码的系统下创建的 机械手表时间的调校方法? 智能手表怎么调时间? 时间手表怎么调? 手机的型号是什么意思啊? 网上买的手表怎么调时间? 机械手表调时间的正确方法是什么? 做梦梦到自己开车撞到人了,是不是不吉利 昨晚做梦,看到别人开车撞人了,是什么征兆呢? 梦见开车撞人了 有什么预兆没? 梦到开车撞人预示什么??求解!! 梦见车撞死人,脑浆和血都出来了,没有人哭,好多人看着呢,好多都是我的... ,烧烤可以烧烤哪些蔬菜 梦见自己在别人车里然后车祸撞人玻璃有许多血? 梦到开车撞人后逃跑,被检察机关抓住,这个梦是什么意思 烧烤可以烤那些素菜 梦到自己酒后开车撞死人逃跑了。这预示什么呢?