您的位置:

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