当前位置:首页 » 编程语言 » php压缩类

php压缩类

发布时间: 2022-04-21 21:12:12

⑴ thinkphp中怎样调用php自带的压缩解压缩类

命名空间加上use ZipArchive;
下面直接实例化$zip = new ZipArchive;

⑵ cn.php.net下载的php压缩包有三种类型,有什么区别

php 5.x.xx zip package
压缩包,需要自行配置,建议高级用户使用

php 5.x.xx installer
安装程序,建议一般用户使用。

php 5.x.xx win32 debug pack
debug版本,懂编程的,并且希望对php做出改进的人,一般会选择这个版本。

⑶ 如何在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压缩解压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 高手 解决在线压缩问题~~~ 高分 高分 高分~~ PHP在线压缩类~~ 急急急 急急急 ~~

<?php
class Zip{
/**
*@desc 生成zip压缩文件
*@param $dir string 需要压缩文件所在的文件夹名称
*@param $filename string 压缩后的zip文件名,需要有全路径并包括zip后缀
*@return bool
*/
static public function zipDirAndFiles($dir, $filename)
{
$dir = str_replace('\\', '/', $dir);
$filename = str_replace('\\', '/', $filename);
if(!file_exists($dir) || !is_dir($dir)){
//exit('zip dir not exists: '.$dir);
return false;
}
if(strtolower(end(explode('.', $filename))) != 'zip'){
//exit('only Support zip files');
return false;
}
if(file_exists($filename)){
//exit('the zip file '.$filename.' has exists!');
return false;
}

$files = array(); self::getZipDirFiles($dir, $files);
if(empty($files)){
//exit('the dir:'.$dir.' is empty!');
return false;
}

$zip = new ZipArchive; $res = $zip->open($filename, ZipArchive::CREATE);
if($res === TRUE) {
foreach($files as $v){
$zip->addFile($v, str_replace($dir.'/', '', $v));
}
$zip->close();
//exit('zip ok......');
return true;
}else{
//exit('zip failed......');
return false;
}
}

/** *@desc 生成zip压缩文件的辅助函数(迭代读取目录中的文件名)
*@param $dir string 文件夹名称
*@param $files string 文件名称数组
*@return bool
*/
static function getZipDirFiles($dir, &$files=array())
{
if(!file_exists($dir) || !is_dir($dir)){
return false;
}
if(substr($dir, -1) == '/'){
$dir = substr($dir, 0, strlen($dir) - 1);
}
$_files = scandir($dir);
foreach($_files as $v){
if($v != '.' && $v != '..'){
if(is_dir($dir.'/'.$v)){
self::getZipDirFiles($dir.'/'.$v, $files);
}else{
$files[] = $dir.'/'.$v;
}
}
}
return true;
}

}
$zip_dir = '/site/www/zipfiles'; //存放准备压缩文件的文件夹,切记不要加最后的'/'$zip_filename = "/site/www/newzipfile.zip";
if(!Zip::zipDirAndFiles($zip_dir, $zip_filename)) {
echo "压缩文件时出错!";
}else{
echo "恭喜,压缩成功!";
}

⑹ 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文件,参考代码如下:

functionaddFileToZip($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=newZipArchive();
if($zip->open('images.zip',ZipArchive::OVERWRITE)===TRUE){
addFileToZip('images/',$zip);//调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip->close();//关闭处理的zip文件
}

⑻ 求php压缩解压rar和zip类源码

不用写,rar算法是有专利权的

RAR压缩算法是RARLab的专利,其它软件要使用或自己实现RAR算法的实作,都是要向RARLab申请许可或交钱的

zip算法php有自带的函数
====>
需求
PHP 4
The bundled PHP 4 version requires » ZZIPlib, by Guido Draheim, version 0.10.6 or later

PHP 5.2.0 or later
This extension uses the functions of » zlib by Jean-loup Gailly and Mark Adler.
=====>
所以用RAR只有通过命令行调用已经安装的rar程序实现打包,效果是一样的.具体调用方法参考各自软件说明.winrar也能用命令行调用,请看http://ke..com/view/2345.htm

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

热点内容
荒岛求生安卓怎么下载 发布:2025-01-25 09:09:31 浏览:209
java中io流 发布:2025-01-25 09:02:54 浏览:878
华为高斯数据库 发布:2025-01-25 08:55:38 浏览:31
php是动态语言 发布:2025-01-25 08:45:44 浏览:67
服务器关闭了电脑网络还能用 发布:2025-01-25 08:22:28 浏览:588
热血航线的登录密码在哪里可以看 发布:2025-01-25 08:22:27 浏览:769
5系怎么选择配置 发布:2025-01-25 08:22:18 浏览:843
pythonscipy 发布:2025-01-25 08:18:52 浏览:419
恕瑞玛服务器地址 发布:2025-01-25 08:18:51 浏览:802
oa源码php 发布:2025-01-25 08:11:31 浏览:735