包含phpzipopen的词条

本文目录一览:

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 13:00
下一篇 2024-12-12 13:00

相关推荐

发表回复

登录后才能评论