精华内容
下载资源
问答
  • ZipArchive

    2015-09-09 13:43:15
    iOS 解压缩文件类库,ZipArchive
  • ziparchive

    2015-02-11 14:35:19
    ZipArchive is an Objective-C class to compress or uncompress zip files, which is base on open source code "MiniZip". It can be used for iPhone application development, and cocoa on Mac OSX as well.
  • zipArchive

    热门讨论 2012-04-25 16:28:57
    ZipArchive is an Objective-C class to compress or uncompress zip files, which is base on open source code "MiniZip". It can be used for iPhone application development, and cocoa on Mac OSX as well.
  • ZipArchive

    千次阅读 2011-03-10 12:25:00
    重启apache PHP Version 5.2.5<br />出现这个错误说明是程序在调用'ZipArchive' 这个类的时候没有成功,原因是由于在安装php的时候没有增加php zip的支持(非zlib)。 在Windows下的解决办法是 : 1...

     
    确认php安装文件夹下的ext文件夹中具有php_zip.dll文件
    修改php.ini
    打开
    extension=php_zip.dll
    重启apache
    PHP Version 5.2.5

    出现这个错误说明是程序在调用'ZipArchive' 这个类的时候没有成功,原因是由于在安装php的时候没有增加php zip的支持(非zlib)。

    在Windows下的解决办法是 :

    1、在php.ini文件中,将extension=php_zip.dll前面的分号“;”去除,然后同样在php.ini文件中,将 zlib.output_compression = Off 改为 zlib.output_compression = On ;

    2、重启Apache服务器。

    在Unix/Linux下的解决办法 :

    1、在Linux下没有php_zip.dll这个文件(有也不会起作用的),所以需要重新编译一下php的zip模块。具体安装方法如下:

    cd /usr/src
    wget http://pecl.php.net/get/zip
    tar -zxvf zip
    cd zip-1.x.x
    phpize
    ./configure
    make
    sudo make instal

    其中, 在最后使用make install命令的时候,可能需要用到root的权限,所以建议使用sudo来运行。安装完之后,屏幕上会提示zip.so的位置。然后将其记录下来,如:/usr/local/lib/php/extensions/zip.so。

    2、使用root权限修改php.ini(通常可能会在/usr/local/lib/文件夹下,不过视当初安装php而定,可以通过phpinfo()来查看):

    增加extension = /usr/local/lib/php/extensions/zip.so,然后同样在php.ini文件中,将 zlib.output_compression = Off 改为 zlib.output_compression = On ;

    3、最后别忘了重启一下Apache:apachectl restart;

    这个针对php的zip模块就安装完成了,能够在php中使用ZipArchive类了。

    初步看了一下ZipArchive文档,简单地封装了一下压缩和解压功能.代码如下:

    /*
    * CompressZipFile: 压缩文件
    * lpszFile: 需要压缩的文件
    * lpszZipFile: 要压缩到的目标文件
    * bAppend: 标志是否添加到现有压缩文件
    * 返回压缩成功与否
    */
    BOOL  CompressZipFile( LPCTSTR lpszFile, LPCTSTR lpszZipFile, BOOL  bAppend  =  FALSE )
    {
         // 如果是追加到现有压缩文件,但现有压缩文件不存在的话  直接返回失败
         if ( bAppend  &&  (  ! ::PathFileExists( lpszZipFile ) ) )
             return  FALSE;

         int  nMode  =  bAppend  ?  CZipArchive::zipOpen : CZipArchive::zipCreate;
        CZipArchive zipArchive;
         if (  ! zipArchive.Open( lpszZipFile, nMode ) )
             return  FALSE;

         // 获取路径中的文件名部分
        TCHAR szFile[MAX_PATH];
        lstrcpy( szFile, lpszFile );
        ::PathStripPath( szFile );

         bool   bRet  =  zipArchive.AddNewFile( lpszFile, szFile );

        zipArchive.Close();

         return  bRet;

    }

    /*
    *  ExtractZipFile : 解压指定文件
    * lpszZipFile: 要解压的文件
    * lpszDestPath: 指定解压到的目录
    * 返回压缩成功与否
    */
    BOOL  ExtractZipFile( LPCTSTR lpszZipFile, LPCTSTR lpszDestPath )
    {
         if (  ! ::PathFileExists( lpszZipFile ))
             return  FALSE;

        CZipArchive zipArchive;
         if (  ! zipArchive.Open( lpszZipFile, CZipArchive::zipOpenReadOnly ) )
             return  FALSE;

         for  (  int  nIndex  =   0 ;  nIndex  <  zipArchive.GetCount (); nIndex ++  )
        {
             if (  ! zipArchive.ExtractFile( (WORD)nIndex, lpszDestPath ) )
                 break ;
        }
        zipArchive.Close();

         return  TRUE;
    }
    压缩文件夹可以参考如下的Demo:

        CZipArchive zipArchive;
         if (  ! zipArchive.Open( _T( " D://aaa.zip " ) , CZipArchive::zipCreate ) )
             return ;
         // 压缩目录下的所有文件,第三个参数指示是否递归压缩子目录,第五个参数指示是否连文件夹目录一起压缩
        zipArchive.AddNewFiles( _T( " D://aaa// " ), _T( " *.* " ),  true ,  - 1 ,  false  );   
        zipArchive.Close();

     

     

     

     


    $newFile="ziptemp/{$id}.zip";
    @copy("mailcons.zip",$newFile);
    $zip = new ZipArchive;
    if($zip->open($newFile) === TRUE) {
    $zip->addFile($imgUrl, '图'.$i.".".$ext);
    $zip->addFromString('内容.txt',"标题:{$titel}/r/n内容:/r/n".$body);
    $zip->close();

        * zip_close — Close a ZIP file archive
        * zip_entry_close — Close a directory entry
        * zip_entry_compressedsize — Retrieve the compressed size of a directory entry
        * zip_entry_compressionmethod — Retrieve the compression method of a directory entry
        * zip_entry_filesize — Retrieve the actual file size of a directory entry
        * zip_entry_name — Retrieve the name of a directory entry
        * zip_entry_open — Open a directory entry for reading
        * zip_entry_read — Read from an open directory entry
        * zip_open — Open a ZIP file archive
        * zip_read — Read next entry in a ZIP file archive
        * ZipArchive::addEmptyDir — Add a new directory
        * ZipArchive::addFile — Adds a file to a ZIP archive from the given path
        * ZipArchive::addFromString — Add a file to a ZIP archive using its contents
        * ZipArchive::close — Close the active archive (opened or newly created)
        * ZipArchive::deleteIndex — delete an entry in the archive using its index
        * ZipArchive::deleteName — delete an entry in the archive using its name
        * ZipArchive::extractTo — Extract the archive contents
        * ZipArchive::getArchiveComment — Returns the Zip archive comment
        * ZipArchive::getCommentIndex — Returns the comment of an entry using the entry index
        * ZipArchive::getCommentName — Returns the comment of an entry using the entry name
        * ZipArchive::getFromIndex — Returns the entry contents using its index.
        * ZipArchive::getFromName — Returns the entry contents using its name.
        * ZipArchive::getNameIndex — Returns the name of an entry using its index
        * ZipArchive::getStream — Get a file handler to the entry defined by its name (read only).
        * ZipArchive::locateName — Returns the index of the entry in the archive
        * ZipArchive::open — Open a ZIP file archive
        * ZipArchive::renameIndex — Renames an entry defined by its index
        * ZipArchive::renameName — Renames an entry defined by its name
        * ZipArchive::setArchiveComment — Set the comment of a ZIP archive
        * ZipArchive::setCommentIndex — Set the comment of an entry defined by its index
        * ZipArchive::setCommentName — Set the comment of an entry defined by its name
        * ZipArchive::statIndex — Get the details of an entry defined by its index.
        * ZipArchive::statName — Get the details of an entry defined by its name.
        * ZipArchive::unchangeAll — Undo all changes done in the archive.
        * ZipArchive::unchangeArchive — Revert all global changes done in the archive.
        * ZipArchive::unchangeIndex — Revert all changes done to an entry at the given index.
        * ZipArchive::unchangeName — Revert all changes done to an entry with the given name.


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/taipingliebeiluo/archive/2010/08/27/5844137.aspx

    展开全文
  • 适用于ZipArchive的Flysystem适配器 安装 composer require league/flysystem-ziparchive 用法 use League \ Flysystem \ Filesystem ; use League \ Flysystem \ ZipArchive \ ZipArchiveAdapter as Adapter ; $ ...
  • 主要介绍了php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法,是使用ZipArchive时经常会遇到的问题,需要的朋友可以参考下
  • ios应用源码之新版ziparchive,新增创建以及解压加密zip 文件_ziparchive
  • ZipArchive::addEmptyDir — Añadir un nuevo directorioZipArchive::addFile — Añade un fichero al archivo ZIP para la ruta dadaZipArchive::addFromString — Añadir un fichero al archivo ZIP usando su ...

    ZipArchive::addEmptyDir — Añadir un nuevo directorio

    ZipArchive::addFile — Añade un fichero al archivo ZIP para la ruta dada

    ZipArchive::addFromString — Añadir un fichero al archivo ZIP usando su contenido

    ZipArchive::addGlob — Añadir ficheros de un directorio mediante un patrón glob

    ZipArchive::addPattern — Añade ficheros de un directorio a partir de un patrón PCRE

    ZipArchive::close — Cierra el fichero activo (abierto o el nuevo creado)

    ZipArchive::count — Cuenta el número de archivos en el archivo

    ZipArchive::deleteIndex — Elimina una entrada en el archivo usando su índice

    ZipArchive::deleteName — Elimina una entrada en el archivo por su nombre

    ZipArchive::extractTo — Extraer el contenido del archivo

    ZipArchive::getArchiveComment — Devuelve el comentario del archivo ZIP

    ZipArchive::getCommentIndex — Devuelve el comentario de una entrada usando la entrada díndice

    ZipArchive::getCommentName — Devuelve el comentario de una entrada usando el nombre de la entrada

    ZipArchive::getExternalAttributesIndex — Obtener los atributos externos de una entrada definida por su índice

    ZipArchive::getExternalAttributesName — Obtener los atributos externos de una entrada definida por su nombre

    ZipArchive::getFromIndex — Devuelve el contenido de la entrada usando su índice

    ZipArchive::getFromName — Devuelve el contenido de la entrada utilizando su nombre

    ZipArchive::getNameIndex — Devuelve el nombre de una entrada utilizando su índice

    ZipArchive::getStatusString — Devuelve mensajes de: estado de error, de sistema y/o mensajes de zip

    ZipArchive::getStream — Obtener un manejador de fichero para la entrada definido por su nombre (sólo lectura)

    ZipArchive::isCompressionMethodSupported — Check if a compression method is supported by libzip

    ZipArchive::isEncryptionMethodSupported — Check if a encryption method is supported by libzip

    ZipArchive::locateName — Devuelve el índice de la entrada en el archivo

    ZipArchive::open — Abrir un fichero de archivo en formato ZIP

    ZipArchive::registerCancelCallback — Registrar una llamada para permitir la cancelación durante el cierre del archivo

    ZipArchive::registerProgressCallback — Registra una llamada para proporcionar actualizaciones durante el cierre del archivo

    ZipArchive::renameIndex — Renombra una entrada definida por su índice

    ZipArchive::renameName — Renombra una entrada definida por su nombre

    ZipArchive::replaceFile — Reemplaza fichero en el archivo ZIP con una ruta determinada

    ZipArchive::setArchiveComment — Establece el comentario de un archivo ZIP

    ZipArchive::setCommentIndex — Establece el comentario de una entrada definido por su índice

    ZipArchive::setCommentName — Establece el comentario de una entrada definido por su nombre

    ZipArchive::setCompressionIndex — Establecer el método de compresión de una entrada definida por su índice

    ZipArchive::setCompressionName — Establecer el método de compresión de una entrada definida por su nombre

    ZipArchive::setEncryptionIndex — Establece el método de cifrado de una entrada definida por su índice

    ZipArchive::setEncryptionName — Establece el método de cifrado de una entrada definida por su nombre

    ZipArchive::setExternalAttributesIndex — Establece los atributos externos de una entrada definida por su índice

    ZipArchive::setExternalAttributesName — Establece los atributos externos de una entrada definida por su nombre

    ZipArchive::setMtimeIndex — Establece el tiempo de modificación de una entrada definido por su índice

    ZipArchive::setMtimeName — Establece la hora de modificación de una entrada definida por su nombre

    ZipArchive::setPassword — Establece la contraseña para el archivo activo

    ZipArchive::statIndex — Obtiene los detalles de una entrada definida por su índice

    ZipArchive::statName — Obtener los detalles de una entrada definida por su nombre

    ZipArchive::unchangeAll — Deshacer todos los cambios hechos en el archivo

    ZipArchive::unchangeArchive — Revertir todos los cambios globales hechos en el archivo

    ZipArchive::unchangeIndex — Revertir todos los cambios hechos a una entrada en el índice dado

    ZipArchive::unchangeName — Deshace todos los cambios realizados a una entrada con un nombre dado

    展开全文
  • 主要介绍了php的ZipArchive类用法实例,较为详细的讲述了ZipArchive类操作zip文件的方法,需要的朋友可以参考下
  • 个人博客原文:http://www.lampnick.com/php/261在linux系统下使用zipArchive压缩文件,采用ZipArchive::OVERWRITE方式,发现打开失败,打印返回的错误码为:9,查看官方文档 错误码9代表没有这个文件, $zip = new...

    个人博客原文:http://www.lampnick.com/php/261

    在linux系统下使用zipArchive压缩文件,采用ZipArchive::OVERWRITE方式,发现打开失败,打印返回的错误码为:9,查看官方文档  错误码9代表没有这个文件,
     $zip = new \ZipArchive();
    $res = $zip->open($zip_file_path, \ZipArchive::OVERWRITE);//失败,返回9
    后来使用ZipArchive::CREATE打开成功
    $zip = new \ZipArchive();
    $res = $zip->open($zip_file_path, \ZipArchive::CREATE);//成功,返回true

    是因为linux系统下不能使用OVERWRITE模式打开?no no no…

    其实是因为pecl zip版本太低的原因。

    通过phpinfo();查出zip版本为:Libzip version => 1.1.2通过到官网查询,这个版本的zip还不支持 ZIPARCHIVE::OVERWRITE 模式!

    overwrite

    pecl zip在1.7.0版本才加入了ZIPARCHIVE::OVERWRITE模式,真尴尬啊。


    展开全文
  • 在php中生成zip文件我们只要使用一个php zip压缩ZipArchive函数就可以了,下面小编来给大家总结两个实现一个是利用ZipArchive生成zip,另一个压缩文件夹下所有文件
  • PHP ZipArchive工具箱 这是开发部门,请勿在生产中使用 该库使用简化并自动执行zip文件管理。 它包括\Comodojo\Zip\ZipManager类,用于一次管理多个Zip文件(提取,添加,删除,合并)。 安装 安装 ,然后: ...
  • ZipArchive是用于在iOS,macOS和tvOS上压缩和解压缩文件的简单实用程序类。 解压缩zip文件; 解压缩受密码保护的zip文件; 解压缩AES加密的zip文件; 创建zip文件; 创建大文件(> 4.3Gb); 创建受密码保护...
  • 本文为大家分享了mysql 5.7 zip archive版本安装教程,供大家参考,具体内容如下 1. 从官网下载zip archive版本:官网地址 2. 解压缩至相应目录,并配置环境变量(将*\bin添加进path中); 3. (重要)在根目录新建...
  • 主要介绍了php打包压缩文件之ZipArchive方法用法,结合实例形式分析了ZipArchive扩展的具体使用技巧,需要的朋友可以参考下
  • ZipArchive类是专门用于文件的压缩与解压操作的类,通过压缩文件可以达到节省磁盘空间的目的,并且压缩文件体积更小,便于网络传输。 在ZipArchive类中我们主要使用如下方法: 1:open(打开一个压缩包文件) $zip = ...
  • ziparchive 使用

    千次阅读 2014-05-07 16:12:35
    ziparchive是基于开源代码”MiniZip”的zip压缩与解压的Objective-C 的Class,使用起来非常的简单 方法:从code.google.com/p/ziparchive/ 上下载ZipArchive.zip,解压后将代码加入工程中,并且把libz.dylib库

    转载地址:blog.csdn.net /a351945755/article/details/8612955

    ziparchive是基于开源代码”MiniZip”的zip压缩与解压的Objective-C 的Class,使用起来非常的简单

    方法:从code.google.com/p/ziparchive/ 上下载ZipArchive.zip,解压后将代码加入工程中,并且把libz.dylib库添加到工程中
    使用方法:

    1. 压缩:ZipArchive可以压缩多个文件,只需要把文件一一addFileToZip即可.

    [cpp]  view plain copy
    1. ZipArchive* zip = [[ZipArchive alloc] init];  
    2. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
    3. NSString *documentpath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;  
    4. NSString* l_zipfile = [documentpath stringByAppendingString:@"/test.zip"] ;  
    5.             
    6. NSString* image1 = [documentpath stringByAppendingString:@"/image1.jpg"] ;     
    7. NSString* image2 = [documentpath stringByAppendingString:@"/image2.jpg"] ;         
    8.             
    9. BOOL ret = [zip CreateZipFile2:l_zipfile];  
    10. ret = [zip addFileToZip:image1 newname:@"image1.jpg"];  
    11. ret = [zip addFileToZip:image2 newname:@"image2.jpg"];  
    12. if( ![zip CloseZipFile2] )  
    13.   {  
    14.      l_zipfile = @"";  
    15.   }  
    16. [zip release];  

    2. 解压缩:

    [cpp]  view plain copy
    1. ZipArchive* zip = [[ZipArchive alloc] init];  
    2. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
    3. NSString *documentpath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;  
    4.             
    5. NSString* l_zipfile = [documentpath stringByAppendingString:@"/test.zip"] ;  
    6. NSString* unzipto = [documentpath stringByAppendingString:@"/test"] ;  
    7. if( [zip UnzipOpenFile:l_zipfile] )  
    8.  {  
    9.    BOOL ret = [zip UnzipFileTo:unzipto overWrite:YES];  
    10.    if( NO==ret )  
    11.    {  
    12.    }  
    13.    [zip UnzipCloseFile];  
    14.  }  
    15. [zip release];  
    展开全文
  • ziparchive 压缩工具

    千次阅读 2019-06-11 15:35:12
    https://php.net/manual/en/class.ziparchive.php
  • <p>The problem is when the zip archive approaches 50MB the function ZipArchive::open always returns the error number 5, which I believe is this error ZIPARCHIVE::ER_READ <p>Does any one have a clue ...
  • 此类的原写法:https://www.php.cn/php-weizijiaocheng-405771.html,但是有问题的 使用之前要注意的点: ... ...2、实例化zip类的时候$zip->open打开文件的时候,要使用ZipArchive::CREATE。我使用了ZIPARCHI...
  • 在本篇文章里我们给各位整理了关于php ZipArchive实现多文件打包下载实例以及相关代码,需要的朋友们可以学习下。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 127,609
精华内容 51,043
关键字:

ziparchive