很多站长朋友们都不太清楚zipphp,今天小编就来给大家整理zipphp,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 zip密码 php 2、 PHP 实现文件压缩解压zip格式 3、 PHP读取zip文件的方法示例 4、 PHP在线解压ZIP文件 zip密码 php用PHP的zip模块进行压缩加密.
开始
$zipArc = new \ZipArchive();if ($zipArc->open('/home/test.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) { //设置密码 注意此处不是加密,仅仅是设置密码
if (!$zipArc->setPassword('password')) { throw new RuntimeException('Set password failed');
} //往压缩包内添加文件
$zipArc->addFile('/home/test.png', '1/test.png'); //加密文件 此处文件名及路径是压缩包内的
if (!$zipArc->setEncryptionName('1/test.png', ZipArchive::EM_AES_256)) { throw new RuntimeException('Set encryption failed');
}
}
$zipArc->close();
注意事项
1 PHP7.2以下不支持加密
php7.2 以下是不支持加密的,我们看一下php官方文档中的解释
从PHP 7.2.0和libzip 1.2.0开始,密码用于解压缩归档,也是ZipArchive :: setEncryptionName() 和ZipArchive :: setEncryptionIndex()的默认密码。
以前,此功能仅设置用于解压缩存档的密码; 它没有将非密码保护的ZipArchive 变成受密码保护的ZipArchive。
也就是说php7.2之前,setPassword('password')这个方法仅仅是设置setEncryptionName()和setEncryptionIndex()的默认密码,却没有进行加密操作!!!,就问你坑不坑!!
2 方法找不到
提示没有setEncryptionName和setEncryptionIndex方法时,请编译时zip模块时用以下参数
--with-libzip
--enable-zip
3 目录结构问题
待压缩的文件目录,比说说是/home/test/a.png
压缩后,你发现压缩包内的目录结构是/home/test/a.png,
也就是说压缩包原封不动的保持了原来文件的目录.可是我们想自定义压缩包目录怎么办呢?
$a = '/home/test.png';
$b = '1/test.png';//$a是待添加的文件路径 $b是压缩包内的路径$zipArc->addFile($a, $b);
PHP 实现文件压缩解压zip格式在php中,有时我们需要使用到压缩文件操作,压缩文件可以节省磁盘空间;且压缩文件更小,便于网络传输,效率高,下面我们就来了解php的压缩解压相关操作
在PHP中有一个ZipArchive类,专门用于文件的压缩解压相关操作
在ZipArchive类中主要使用到了如下方法:
第一个参数:要打开的压缩包文件
第二个参数:
ZIPARCHIVE::OVERWRITE 总是创建一个新的文件,如果指定的zip文件存在,则会覆盖掉
ZIPARCHIVE::CREATE 如果指定的zip文件不存在,则新建一个
ZIPARCHIVE::EXCL 如果指定的zip文件存在,则会报错
ZIPARCHIVE::CHECKCONS 对指定的zip执行其他一致性测试
上面就是ZipArchive的一些常用方法,下面来一些简单示例
PHP读取zip文件的方法示例本文实例讲述了PHP读取zip文件的方法。分享给大家供大家参考,具体如下:
<?php
$zip
=
zip_open("111.zip");
if
($zip)
{
while
($zip_entry
=
zip_read($zip))
{
echo
"Name:
"
.
zip_entry_name($zip_entry)
.
"n";
echo
"Actual
Filesize:
"
.
zip_entry_filesize($zip_entry)
.
"n";
echo
"Compressed
Size:
"
.
zip_entry_compressedsize($zip_entry)
.
"n";
echo
"Compression
Method:
"
.
zip_entry_compressionmethod($zip_entry)
.
"n";
if
(zip_entry_open($zip,
$zip_entry,
"r"))
{
echo
"File
Contents:n";
$buf
=
zip_entry_read($zip_entry,
zip_entry_filesize($zip_entry));
echo
"$buf\n";
zip_entry_close($zip_entry);
}
echo
"n";
}
zip_close($zip);
}
?>
运行效果截图如下:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP操作zip文件及压缩技巧总结》、《php文件操作总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
PHP在线解压ZIP文件解压步骤:
第一步、把unzip.php或upzid.php(2选1即可)通过 FTP上传到压缩包所在的文件夹;
第二步、使用“域名/unzip.php或upzid.php?file=压缩文件名称”访问解压,如 ;
此源码适合php环境的zip压缩包在线解压。
注意:解压完成后请务必删除站点目录下的unzip.php和upzid.php文件,以免被其他人利用!
关于zipphp的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。