要用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程序设计有所帮助。
Ⅲ php如何实现两个文件先压缩成一个压缩包然后下载
$filename="./".date('YmdH').".zip";//最终生成的文件名(含路径)
//生成文件
$zip=newZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){
exit('无法打开文件,或者文件创建失败');
}
//$fileNameArr就是一个存储文件路径的数组比如array('/a/1.jpg,/a/2.jpg....');
foreach($fileNameArras$val){
$zip->addFile($val,basename($val));//第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下
}
$zip->close();//关闭
//下面是输出下载;
header("Cache-Control:max-age=0");
header("Content-Description:FileTransfer");
header('Content-disposition:attachment;filename='.basename($filename));//文件名
header("Content-Type:application/zip");//zip格式的
header("Content-Transfer-Encoding:binary");//告诉浏览器,这是二进制文件
header('Content-Length:'.filesize($filename));//告诉浏览器,文件大小
@readfile($filename);//输出文件;
Ⅳ PHP网页上打包文件生成压缩文件zip,并弹出下载
既然你只是想学习如何打包.
那我重点就回答你这一块,正好我刚刚用到;
$filename="./".date('YmdH').".zip";//最终生成的文件名(含路径)
//生成文件
$zip=newZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){
exit('无法打开文件,或者文件创建失败');
}
//$fileNameArr就是一个存储文件路径的数组比如array('/a/1.jpg,/a/2.jpg....');
foreach($fileNameArras$val){
$zip->addFile($val,basename($val));//第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下
}
$zip->close();//关闭
//下面是输出下载;
header("Cache-Control:max-age=0");
header("Content-Description:FileTransfer");
header('Content-disposition:attachment;filename='.basename($filename));//文件名
header("Content-Type:application/zip");//zip格式的
header("Content-Transfer-Encoding:binary");//告诉浏览器,这是二进制文件
header('Content-Length:'.filesize($filename));//告诉浏览器,文件大小
@readfile($filename);//输出文件;
Ⅳ PHP下载zip文件到本地并解压
下载用socket,或者开了allow_url_fopen 直接用file
解压zip用自带的zip库即可
之前写过的一个php的离线下载 http://www.ifuns.cn/_test/download.html
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格式是是怎么回事
这是迅雷软件的问题。出现这种情况,就不用迅雷了。右键选中要下载的链接另存为就可以下下来了。
Ⅷ php-5.2.0-Win32.zip下载地址
http://php.net/downloads.php 里面有很多版本
Ⅸ PHP在线解压缩软件是什么
终于找到几款好用的php在线解压缩工具了!
如果你的空间不是通过cPanel管理的,那么强力推荐你使用,特别是国内用户。
要解决的问题:
XOOPS程序以及mole的文件通常都很多,一个小站点都有好几千个文件,这种情况下,无论是安装还是备份网站,如果用FTP一个个上传、下载文件,即使你的空间速度很快,还是要花很长时间!!
解决思路:
把文件压缩成一两个压缩包,再上传、下载就能大大节约时间。
上传(安装):在本地先把文件压缩为一两个压缩包,接着用FTP上传,最后用在线解压工具解压。
下载(备份):先用在线解压工具压缩为一两个压缩包,接着下载,最后在本地解压。
Ⅹ 我用迅雷下载压缩文件,变成php格式了,怎么办
不要用迅雷下载,把迅雷的监视关掉,用IE自带的下载