phpzip压缩,php生成zip压缩包

本文目录一览:

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程序设计有所帮助。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/183180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-24 16:27
下一篇 2024-11-24 16:27

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 用Python解压缩压缩包

    本文将从多个方面对用Python解压缩压缩包进行详细阐述,并给出相应的代码示例。 一、导入必要的库 使用Python解压缩压缩包需要用到ZipFile库,因此需要先导入该库。 im…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • Python内置函数zip()的用法

    本文将通过多个方面阐述Python内置函数zip()的用法,包含代码示例。 一、zip()函数的概念 zip()函数是Python中的一个内置函数,它接受任意数量的可迭代对象作为参…

    编程 2025-04-27
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • PHP版本管理工具phpenv详解

    在PHP项目开发过程中,我们可能需要用到不同版本的PHP环境来试验不同的功能或避免不同版本的兼容性问题。或者我们需要在同一台服务器上同时运行多个不同版本的PHP语言。但是每次手动安…

    编程 2025-04-24
  • PHP数组去重详解

    一、array_unique函数 array_unique是php中常用的数组去重函数,它基于值来判断元素是否重复,具体使用方法如下: $array = array(‘a’, ‘b…

    编程 2025-04-24

发表回复

登录后才能评论