`

PHP开发笔记系列(七)- 压缩与解压缩

阅读更多

 

    压缩与解压缩,在一般的web应用程序中可能用得不多,但是在下面的一些应用场景中是比较常用的,例如压缩数据库的备份文件,将多个文件打包在一块进行下载,将客户打包上传的文件进行加压然后进行解释,熟悉压缩与解压缩的常用函数和类,还是必要的。


    本文《PHP开发笔记系列(七)- 压缩与解压缩》 将是《PHP开发笔记系列(XAMPP+PhpEclipse+XDebug)》 的第七篇,讲述如何使用Pear插件Archive Tar进行常规的文件压缩与解压缩操作。


    1. 使用Archive_Tar类进行文件压缩

     Archive_Tar类位于Pear文件夹的Archive/Tar.php文件中,使用该类进行文件压缩所需代码量很少。步骤是:1)实例化该类,第一个构造参数是压缩后的目标文件名,第二个构造参数是压缩类型(gz:使用gzip压缩,bz2使用bzip2压缩),省略第二个参数则表示只打包不压缩;2)创建完Archive_Tar对象后,向该对象的create方法传入文件名数据,即可。代码如下:

   

file:tar.php
url:http://localhost:88/archive/tar.php
<?php

    require_once 'Archive/Tar.php';
    
    $tarFile = 'xdebug.tar.gz';
    $tar = new Archive_Tar($tarFile, 'gz');
    $files = array('xdebug.ini', 'file.html');
    $tar->create($files);
    
    echo 'xdebug.tar.gz exist:'.file_exists($tarFile).'<br/>';
    echo 'xdebug.tar.gz mtime:'.date('Y-m-d h-i:s', filemtime($tarFile)).'<br/>';
    echo 'xdebug.tar.gz :atime:'.date('Y-m-d h-i:s', fileatime($tarFile)).'<br/>';
    echo 'xdebug.tar.gz size:'.filesize($tarFile).'<br/>';

?>

 

    2. 使用Archi ve_Tar类进行文件压缩

    解压缩的过程与压缩过程相似,步骤如下:1)实例化Archive_Tar对象,传入源压缩文件名,2)实例化完对象后,给解压缩的方法extract传入一个目标文件夹名称,压缩包中的文件将被释放到该目标文件夹下。代码如下:

 

file:extract.php
url:http://localhost:88/archive/extract.php
<?php

    require_once 'Archive/Tar.php';
    
    $targetDir = 'xdebug';
    $tarFile = 'xdebug.tar.gz';
    $tar = new Archive_Tar($tarFile);
    $tar->extract($targetDir);
    
    $dp = opendir($targetDir);
    while ($entry = readdir($dp)){
        if(is_dir($entry))
        {
            echo '[DIR] '.$entry. '<br/>';
        }elseif (is_file($entry))
        {
            echo '[FILE] '.$entry. '<br/>';
        }
    }
    closedir($dp);

?>

 

 

 

    本文地址:http://ryan-d.iteye.com/blog/1543417

分享到:
评论

相关推荐

    [文件数据]无组件在线解压缩php免费版(能解zip和gz文件)_spzip101.zip

    这可能意味着压缩包内包含的是一系列整理过的文件或文档,可能包括代码、教程、示例、数据集等,用于帮助用户理解和使用这个PHP解压缩工具。 根据以上信息,我们可以推测这个压缩包的内容可能包含以下知识点: 1. ...

    PHP实例开发源码-php笔记本网址导航源码.zip

    1. 解压和安装:指导用户如何解压缩文件,并在服务器环境中部署源码,如设置合适的目录权限、配置PHP环境等。 2. 数据库配置:如何创建数据库并导入SQL文件,以初始化网站所需的数据结构。 3. 配置文件修改:可能...

    笔记-PHP基础(2018)-环境搭建.doc

    安装Apache涉及的步骤包括选择合适的版本、下载、解压缩、配置httpd.conf文件、设置环境变量、启动和测试Apache服务是否正常运行。 以上就是PHP基础和环境搭建的基本内容,包括PHP的定义、特点,以及如何配置基于...

    疯汉三php笔记

    在Windows上,你可以下载PHP的zip文件(如php-5.4.16-Win32-VC9-x86.zip),解压缩后配置环境。需要在Apache的配置文件http.conf中加载PHP模块,并指定PHP配置文件(php.ini)的位置,以及添加类型映射,使Apache...

    Windows+Apache+Openssl+MySQL+PHP+ZendOptimizer+eAccelerator+phpMyAdmin+NaviCat 安装与配置笔记.txt

    - 下载并解压缩`php-5.2.5-Win32.zip`。 - 重命名`php.ini-recommended`为`php.ini`。 - 将`php.ini`文件复制到Apache的安装目录。 2. **配置PHP**: - 修改`php.ini`文件中的关键设置: - 设置`extension_dir...

    韩顺平servlet笔记

    - 解压缩安装包。 - 设置环境变量`JAVA_HOME`指向JDK安装目录。 - 在`startup.bat`文件中指定JDK路径(如果没有配置`JAVA_HOME`)。 - **启动Tomcat服务器**:通过`bin/startup.bat`脚本启动服务。 - **验证安装*...

    韩顺平servlet_笔记

    安装Tomcat时,只需解压缩文件,并可能需要配置JAVA_HOME环境变量。启动Tomcat可以通过bin目录下的startup.bat脚本完成。如果遇到8080端口被占用的情况,可以通过修改conf/server.xml文件中的端口号解决。 Tomcat的...

    PHP学习笔记 IIS7下安装配置php环境

    - 安装PHP非常简单,只需下载ZIP包解压缩,然后进行配置。不需要进行复杂的安装步骤。 - 配置主要涉及修改`php.ini`文件。首先找到解压后的`php.ini-production`文件,将其重命名为`php.ini`。 - 打开`php.ini`,...

    嵌入式Linux学习笔记

    - **工具链使用**:解压缩工具链并将其放置在根目录下。之后,就可以使用这些工具链来进行编译工作。 #### 二、嵌入式编程基础知识 ##### 1. C/C++源文件到可执行文件的编译过程 - **预处理**:使用`arm-linux-...

    java学习笔记整理

    - 解压缩到指定目录。 - 设置环境变量CATALINA_HOME。 - **启动和停止**: - 启动: `bin/startup.sh` (Linux) / `bin/startup.bat` (Windows) - 停止: `bin/shutdown.sh` (Linux) / `bin/shutdown.bat` (Windows)...

    Php-Redis安装测试笔记

    下载完成后,解压缩并进行编译安装: ```shell tar -xvf redis-2.8.17.tar.gz make sudo make install ``` 为了便于管理,建议在`/usr`目录下创建一个`redis`目录,并将`redis.conf`、`redis-server`、`redis-cli`...

    韩顺平细说servlet笔记

    安装Tomcat时,只需解压缩文件,配置JAVA_HOME环境变量,修改端口配置(如果8080被占用),并通过startup.bat启动。 9. **Tomcat问题解决** 如果遇到Tomcat无法启动,可能是JAVA_HOME配置错误或端口冲突。可以通过...

    韩顺平servlet笔记(必看完整版)

    安装Tomcat只需解压缩文件,然后配置环境变量JAVA_HOME。启动Tomcat可以通过bin/startup.bat脚本。如果遇到问题,可能是因为端口冲突或其他配置错误,可以通过修改conf/server.xml文件中的端口号或检查其他配置。 ...

    个人Linux整理笔记:高级服务篇

    3. 解压缩Apache源码包,指定安装路径。 4. 编译安装,启用所需模块。 5. 修改httpd.conf配置文件。 6. 添加Apache服务脚本到开机启动。 7. 启动并验证Apache服务。 验证Apache服务可以通过在本地浏览器输入`...

    drupal安装使用笔记

    4. 汉化Drupal:如果你希望使用中文界面,可以下载对应版本的Drupal中文语言包(如zh-hans-6.x-1.0.tar.gz),解压缩后覆盖到Drupal安装目录中的相同文件夹。 5. 启动AppServ:打开AppServ的管理面板,启动Apache和...

    Memcache技术笔记

    2. **解压缩**:将安装包解压缩到特定目录,例如`C:\memcached`。 3. **命令行操作**:通过命令行工具(cmd)进行安装、启动或停止等操作。 - `memcached.exe -d install`:安装服务 - `memcached.exe -d start`:...

    sqlite-autoconf-3120100.tar.gz

    - **解压**:首先,使用`tar -zxvf sqlite-autoconf-3120100.tar.gz`命令解压缩文件。 - **配置**:进入解压后的目录,运行`./configure`来检查系统环境,设置编译选项。 - **编译**:执行`make`命令来编译源代码...

Global site tag (gtag.js) - Google Analytics