本文目录一览:
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包的大小?
function get_zip_originalsize($filename) {
$size = 0;
$resource = zip_open($filename);
while ($dir_resource = zip_read($resource)) {
$size += zip_entry_filesize($dir_resource); }
zip_close($resource); return $size;}
$size = get_zip_originalsize(‘file.zip’);
echo “original size: $size bytes\n”;
php 压缩文件夹
php将文件夹打包成zip文件,参考代码如下:
function addFileToZip($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=new ZipArchive();
if($zip-open(‘images.zip’, ZipArchive::OVERWRITE)=== TRUE){
addFileToZip(‘images/’, $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip-close(); //关闭处理的zip文件
}
有没有用PHP生成标准ZIP文件的方法
$filename = “./sendfile/” . date ( ‘YmdHis’ ) . “.zip”; // 最终生成的文件名(含路径)
try {
// 生成文件
$zip = new ZipArchive (); // 使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
if ($zip-open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) {
exit ( ‘无法打开文件,或者文件创建失败’ );
}
for ($i=0;$isizeof($file_arr); $i++){
$zip-addFile ($file_arr[$i][‘guidFilePath’], iconv(“utf-8″,”gbk”,$file_arr[$i][“realFileName”]));
}
$zip-close ();
} catch(Exception $e){
header(“Content-Type: text/html; charset=utf-8”);
echo “服务器压缩文件失败! server zip file fail “. $e-getMessage();
}
//下面是输出下载;
header ( “Cache-Control: max-age=0” );
header ( “Content-Description: File Transfer” );
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 );//输出文件;
unlink($filename); //删除文件
php如何生成自解压文件?
php ZipArchive 能否在指定目录生成压缩包
初步接触ZipArchive , 目前发现 ZipArchive类生成的zip压缩包是存储在 ppublic function backupfiles(){ $filename = “backups/”. time().”.zip”; $zip = new \ZipArchive(); $zip-open($filename,\ZipArchive::CREATE); $path = ‘demo’;//指定的目录 $this-addFileToZip($path, $zip); } public function addFileT
如何用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) 。
PHP-php生成zip压缩文件如何给该文件加解压缩密码
php如何压缩一个文件夹里面所有的文件到zip文件里面?
//函数:文件压缩//压缩参数:需要压缩的文件或文件夹(文件可为数组),压缩后的zip文件名及存放路径,压缩类型1:文件夹2:文件,后续操作1:压缩后下载;2:存放在服务器上(默认为/@Upload下)//压缩文件夹示例:Tozip(“./”,”../”.date(“d-H-i-s”).”.zip”,1
如何在PHP中创建压缩的RAR文件
$filename = “./” . date ( ‘YmdH’ ) . “.zip”; // 最终生成的文件名(含路径) // 生成文件 $zip = new ZipArchive (); // 使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释 if ($zip-open ( $filename, ZIPARCHIVE::CREATE ) 。
看你的内存是多大了,只要你的虚拟内存和物理内存够大。
怎样用php压缩解压rar,zip文件?
要用PHP压缩解压文件,常用的方法是调用命令行去执行解压缩操作 可以用exec() 、system()等函数调用shell命令 Linux下解压缩命令是tar [-cxtzjvfpPN] 文件与目录,tar命令可以压缩解压.tar、.gz、.tar.gz、.tgz、.bz
请高手指点:PHP 如何解压缩zip格式压缩的文件或压zip格式压缩了几个文件,或压缩了一个文件夹,文件夹里有多个文件, 现/** * PHP在线压缩/解压实例 */ date_default_timezone_set(‘prc’); $zip = new engine_compress_decompress(); if (isset($_POST)) { $sourcePath = ”; //默认位置 if (isset($_FILES[‘upfile’])) //上传文件 { $stmp = $zip-fileUpload(‘upf
以上就是CSS布局HTML为大家整理的php生成zip压缩文件的方法详解 技术分享内容,如果觉得小编的资源对您有帮助 不要忘记分享给您身边的朋友哦!
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程序设计有所帮助。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/244033.html