PHP文件 Zip 压缩与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;
}
}
/***** Example Usage ***/
$files=array('file1.jpg', 'file2.jpg', 'file3.gif');
create_zip($files, 'myzipfile.zip', true);

17. PHP解压缩 Zip 文件

/**********************
*@file - path to zip file
*@destination - destination directory for unzipped files
*/
function unzip_file($file, $destination){
// create object
$zip = new ZipArchive() ;
// open archive
if ($zip->open($file) !== TRUE) {
die ('Could not open archive');
}
// extract contents to destination directory
$zip->extractTo($destination);
// close archive
$zip->close();
echo 'Archive extracted to directory';
}

时间: 2024-09-30 04:24:09

PHP文件 Zip 压缩与zip解压的相关文章

Linux中zip压缩与unzip解压用法详解

一般来说zip比较通用,不管在windows下还是在linux下,对zip都能够轻松的实现压缩与解压. 下面是比较常用的两个个压缩命令以及解压命令.  压缩 zip MyPackge.zip -r /var/test/ 将 /var/test/ 目录中的所有所有文件,包括子文件夹及文件一起压缩为 MyPackge.zip -r 表示递归子目录 解压 unzip MyPackge.zip -d /var/test2/ 将 MyPackge.zip 解压到 /var/test2/ 目录中 不指定的话

win7系统zip格式文件,怎么指向WinRAR解压

很早以前windows系统的解压软件还不支持解压ZIP格式,那时候很多网友说连这么出名的格式都不支持.而现在支持了也没有感觉中的好用,感觉可有可无. 1 而在win7系统中,如果遇到zip格式的文件,是可以直接提取出来,而不是解压出来.一般情况下有提取也就够了. 但是如果你感觉用解压出来更好用,那就跟着小编去修改注册表吧! 2 点击开始,然后再出现的框框里面输入regedit,按下回车. 在出现的注册表编辑器定位到:HKEY_CLASSES_ROOTCLSID分支(如图1)和HKEY_CLASS

vc zip,unzip类 解压.docx文件内容是乱码,求大神解答啊

问题描述 vc zip,unzip类 解压.docx文件内容是乱码,求大神解答啊 目前只有.docx文件解压有问题,为什么会这样,求大神帮忙解答下,我没有c币,谢谢好心人了!!!! 解决方案 可以换成ZLib开源代码来试试,很不错,也很简单 解决方案二: 可以换成ZLib开源代码来试试,很不错,也很简单 解决方案三: 我发现.odcx文件用office可以打开,我用的wps,呵呵,找了一天原因,真坑爹 还是谢谢你的回答

怎样实现linux下c/c++对文件加密压缩成zip文件

问题描述 怎样实现linux下c/c++对文件加密压缩成zip文件 想实现在linux下用c/c++把文件压缩加密的成zip文件,在windows 上能用普通的解压软件解密解压,zlib这个库好像不支持加密了 解决方案 把多個文件壓縮成zip文件然後實現下載Java把文件压缩成zip文件把多个文件打包压缩成ZIP文件 解决方案二: http://www.cnblogs.com/chinareny2k/archive/2010/01/05/1639468.html

为何有的exe文件单击右键既有解压又有压缩的?

问题描述 为何有的exe文件单击右键既有解压又有压缩的? 为何有的exe文件单击右键既有解压又有压缩的? 解决方案 像winrar之类的程序有shell handler,相当于一个插件程序,当你点右键的时候,它会读取文件开头的一段,如果发现pk !rar之类的关键字,它会判断这个文件是一个exe 自解压文件,那么就会添加解压缩到上下文菜单. 如果你希望更进一步的信息,请采纳我的回答.如果只是简单了解,我也不费口舌了. 解决方案二: 有些压缩文件是自解压类型的,打开会自动解压,本身也可以再次被压缩

最"贱"黑客 把文件压缩 再卖解压密码

[IT168 评论]我辛辛苦苦黑掉了你的电脑,还辛辛苦苦地把你的文件都压缩了.我加班加点,这么拼命,你不给钱就想要回密码,有这样的道理吗?你的内心难道不感到羞愧吗?你的良知难道不煎熬吗?不服来辩! 这大概就是"勒索黑客"的内心独白吧. 本文讲的是 :  最"贱"黑客 把文件压缩 再卖解压密码  ,   其实从2015年开始,黑客勒索就已经成为了一种主流的黑色产业.让人愤怒的是:这个行业经过几年的蓬勃发展,居然还分出了流派. "学院派" "

asp.net C# 用SharpZipLib实现加密压缩、加密解压

1.创建zip文件,并添加文件:  代码如下 复制代码 using (ZipFile zip = ZipFile.Create(@"E:test.zip")) {     zip.BeginUpdate();     zip.Add(@"E:文件1.txt");     zip.Add(@"E:文件2.txt");     zip.CommitUpdate(); }   2.将文件夹压缩为文件  代码如下 复制代码 (new FastZip())

对称加密之AES及压缩加密解密解压综合实战

 对称加密:就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密.密钥是控制加密及解密过程的指令.算法是一组规则,规定如何进行加密和解密. 因此加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要.因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题. 由此可见密钥传递也是比较重要的一环,一般都是通过对密钥二次加密的方式,进行密钥的传输 加密实现代码: public static byte[] encryptStringToBytes_AES(b

Linux下打包压缩war、解压war包和jar命令

环境 RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + Putty 0.62 问题 Linux下打包压缩war.解压war包和jar命令 解决 把project_a文件夹下的文件打包成project.war 1.打包 jar - xvf project.war /project_a -c   创建war包 -v   显示过程信息 -f   指 定 JAR文件名,通常这个参数是必须的 -M  不产生所有项的清单 (MANIFEST]文件,此参数会忽略 -m参数 -

Java服务端压缩GZIP IOS解压问题

问题描述 Java服务端压缩GZIP IOS解压问题 在Java端用什么方法加压GZIP 在IOS端能解压出来 IOS用libz库方式解压的 求大神解答..找了很多种压缩方式都不行 IOS一直解压不出来 解决方案 iOS与Java服务器GZip压缩问题iOS与Java服务器GZip压缩问题iOS与Java服务器GZip压缩问题 解决方案二: 一般都是用标准的gzip压缩格式 各种平台都是一样的 你要看看java是否压缩正确了 用其它工具能否解压成功