热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phpzip压缩,php生成zip压缩包

本文目录一览:1、php如何压缩一个文件夹里面所有的文件到zip文件里面?2、PHP-php生成zip压缩文件如何给该文件加解压缩密码3、如何用PHP创建一个加密的zi

本文目录一览:


  • 1、php如何压缩一个文件夹里面所有的文件到zip文件里面?


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


  • 3、如何用PHP创建一个加密的zip压缩文件


  • 4、怎么用php写一个表单上传zip格式的压缩包并解压到根目录的指定目录中?


  • 5、怎样用php压缩解压rar,zip文件?


  • 6、php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)

php如何压缩一个文件夹里面所有的文件到zip文件里面?

//函数:文件压缩
//压缩参数:需要压缩的文件或文件夹(文件可为数组),压缩后的zip文件名及存放路径,压缩类型1:文件夹2:文件,后续操作1:压缩后下载;2:存放在服务器上(默认为/@Upload下)
//压缩文件夹示例:Tozip("./","../".date("d-H-i-s").".zip",1,2);
//压缩文件示例:
// $aaa=array("../1.txt","../2.txt");
// Tozip($aaa,"../2.zip",2);FunctionTozip($Path,
$ZipFile,
$Typ=1,
$Todo=1){//IF(!is_writeable($Path)){Exit("文件夹不可写!");}$Path=Str_iReplace("\\","/",($Path));IF(Is_Null($Path) OrEmpty($Path) Or!IsSet($Path)){ReturnFalse;}IF(Is_Null($ZipFile) OrEmpty($ZipFile) Or!IsSet($ZipFile)){ReturnFalse;}
Include_once("inc/Class_Zip.php");$zip=NewPHPZip;IF(SubStr($Path,-1,1)=="/"){$Path=SubStr($Path,0,
StrLen($Path)-1);}
OB_end_clean();Switch($Typ){Case"1":$zip-ZipDir($Path,
$ZipFile,
$Todo);Break;Case"2":$zip-ZipFile($Path,

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创建一个加密的zip压缩文件

/* creates a compressed zip file */function create_zip($files = array(),$destination = '',$overwrite = false) { //if the zip file already exists and overwrite is false, return false if(file_exists($destination) !$overwrite) { return false; } //vars $valid_files = array(); //if files were passed in... if(is_array($files)) { //cycle through each file foreach($files as $file) { //make sure the file exists if(file_exists($file)) { $valid_files[] = $file; } } } //if we have good files... if(count($valid_files)) { //create the archive $zip = new ZipArchive(); if($zip-open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { return false; } //add the files foreach($valid_files as $file) { $zip-addFile($file,$file); } //debug //echo 'The zip archive contains ',$zip-numFiles,' files with a status of ',$zip-status; //close the zip -- done! $zip-close(); //check to make sure the file exists return file_exists($destination); } else { return false; }}

怎么用php写一个表单上传zip格式的压缩包并解压到根目录的指定目录中?

?php

  if ($_FILES["file"]["error"]  0) {

    echo "scriptconsole.log('Return Code: " . $_FILES["file"]["error"] . "');/script";

    }

  else {

    if (!file_exists("upload/" . $_FILES["file"]["name"])){

          move_uploaded_file($_FILES["file"]["tmp_name"],

          "upload/" . $_FILES["file"]["name"]);

          echo "Stored in: " . "upload/" . $_FILES["file"]["name"];

          system('zip解压缩命令');

        }

    else{

         system('zip解压缩命令');   

        }

    }

?

因为php即使拓展了zip库,也不能够实现解压缩,而且拓展zip库会要更改php.ini,所以推介下载7z的命令行版本,用系统命令解决。╮( ̄▽ ̄"")╭

怎样用php压缩解压rar,zip文件?

要用PHP压缩解压文件,常用的方法是调用命令行去执行解压缩操作

可以用exec()

、system()等函数调用shell命令

Linux下解压缩命令是tar

[-cxtzjvfpPN]

文件与目录,tar命令可以压缩解压.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip这些类型的文件

Linux下默认无法使用rar格式的,要另外安装RAR

for

Linux,然后使用rar和unrar命令解压缩rar格式的压缩文件

php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)

本文实例讲述了php使用pclzip类实现文件压缩的方法。分享给大家供大家参考,具体如下:

使用PclZIp(zip格式)压缩,首先需要下载它的包文件(可点击此处本站下载)。PclZip功能还是蛮强大的,它可以进行压缩和解压,以及一些添加和删除的类的方法等等。当然了这些内容我们都可以在网上查找的到,没必要都得记住。我们只要在需要使用的时候自己可以很快的在网上找到使用方法就可以了。首先我们需要的就是要将下载的库文件进行引入,如

?php

include('pclzip/pclzip.lib.php');

?

//括号里面的地址改成自己的pclzip.lib.php

文件所在地址,

//它的所有的功能都在pclzip.lib.php里面

引入之后我们就可以进行使用了,下面是我使用时简单写的一个方法。

?php

$zipname

=

"test.zip";

//压缩包的名称

$zipnames

=

'/zipfiles/'.$zipname;

//压缩包所在路径

$z

=

new

PclZip($zipnames);

//实例化这个PclZip类

$v_list

=

$z-create('file.txt,data/text.txt,folder');

//将文件进行压缩

if

($v_list

==

0)

{

die("Error

:

".$archive-errorInfo(true));

//如果有误,提示错误信息。

}

?

这个一个简单的zip压缩就做好了,在这个方法中我们主要就是使用了PclZip里面的PclZip类以及它里面创建压缩包的方法create。从上面的例子我们可以看到下面这个内容

?php

PclZip($zip_filename);

?

//里面是该压缩包的名称以及所在路径。并不是把名称写上就可以了。

//如果路径不对是无法找到的。

?php

PclZip::create($filelist,

[optional

arguments]);

?

//create方法来创建压缩包。

//$filelist可以用数组包含文件的名称和文件夹名称或者是一个字符串来包含.

//如果是多个文件的话可以用逗号来隔开,如上面的例子。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP操作zip文件及压缩技巧总结》、《php文件操作总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。


推荐阅读
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
author-avatar
爷_引领霸气
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有