压缩与解压缩,在一般的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解压缩工具。 根据以上信息,我们可以推测这个压缩包的内容可能包含以下知识点: 1. ...
1. 解压和安装:指导用户如何解压缩文件,并在服务器环境中部署源码,如设置合适的目录权限、配置PHP环境等。 2. 数据库配置:如何创建数据库并导入SQL文件,以初始化网站所需的数据结构。 3. 配置文件修改:可能...
安装Apache涉及的步骤包括选择合适的版本、下载、解压缩、配置httpd.conf文件、设置环境变量、启动和测试Apache服务是否正常运行。 以上就是PHP基础和环境搭建的基本内容,包括PHP的定义、特点,以及如何配置基于...
在Windows上,你可以下载PHP的zip文件(如php-5.4.16-Win32-VC9-x86.zip),解压缩后配置环境。需要在Apache的配置文件http.conf中加载PHP模块,并指定PHP配置文件(php.ini)的位置,以及添加类型映射,使Apache...
- 下载并解压缩`php-5.2.5-Win32.zip`。 - 重命名`php.ini-recommended`为`php.ini`。 - 将`php.ini`文件复制到Apache的安装目录。 2. **配置PHP**: - 修改`php.ini`文件中的关键设置: - 设置`extension_dir...
- 解压缩安装包。 - 设置环境变量`JAVA_HOME`指向JDK安装目录。 - 在`startup.bat`文件中指定JDK路径(如果没有配置`JAVA_HOME`)。 - **启动Tomcat服务器**:通过`bin/startup.bat`脚本启动服务。 - **验证安装*...
安装Tomcat时,只需解压缩文件,并可能需要配置JAVA_HOME环境变量。启动Tomcat可以通过bin目录下的startup.bat脚本完成。如果遇到8080端口被占用的情况,可以通过修改conf/server.xml文件中的端口号解决。 Tomcat的...
- 安装PHP非常简单,只需下载ZIP包解压缩,然后进行配置。不需要进行复杂的安装步骤。 - 配置主要涉及修改`php.ini`文件。首先找到解压后的`php.ini-production`文件,将其重命名为`php.ini`。 - 打开`php.ini`,...
- **工具链使用**:解压缩工具链并将其放置在根目录下。之后,就可以使用这些工具链来进行编译工作。 #### 二、嵌入式编程基础知识 ##### 1. C/C++源文件到可执行文件的编译过程 - **预处理**:使用`arm-linux-...
- 解压缩到指定目录。 - 设置环境变量CATALINA_HOME。 - **启动和停止**: - 启动: `bin/startup.sh` (Linux) / `bin/startup.bat` (Windows) - 停止: `bin/shutdown.sh` (Linux) / `bin/shutdown.bat` (Windows)...
下载完成后,解压缩并进行编译安装: ```shell tar -xvf redis-2.8.17.tar.gz make sudo make install ``` 为了便于管理,建议在`/usr`目录下创建一个`redis`目录,并将`redis.conf`、`redis-server`、`redis-cli`...
安装Tomcat时,只需解压缩文件,配置JAVA_HOME环境变量,修改端口配置(如果8080被占用),并通过startup.bat启动。 9. **Tomcat问题解决** 如果遇到Tomcat无法启动,可能是JAVA_HOME配置错误或端口冲突。可以通过...
安装Tomcat只需解压缩文件,然后配置环境变量JAVA_HOME。启动Tomcat可以通过bin/startup.bat脚本。如果遇到问题,可能是因为端口冲突或其他配置错误,可以通过修改conf/server.xml文件中的端口号或检查其他配置。 ...
3. 解压缩Apache源码包,指定安装路径。 4. 编译安装,启用所需模块。 5. 修改httpd.conf配置文件。 6. 添加Apache服务脚本到开机启动。 7. 启动并验证Apache服务。 验证Apache服务可以通过在本地浏览器输入`...
4. 汉化Drupal:如果你希望使用中文界面,可以下载对应版本的Drupal中文语言包(如zh-hans-6.x-1.0.tar.gz),解压缩后覆盖到Drupal安装目录中的相同文件夹。 5. 启动AppServ:打开AppServ的管理面板,启动Apache和...
2. **解压缩**:将安装包解压缩到特定目录,例如`C:\memcached`。 3. **命令行操作**:通过命令行工具(cmd)进行安装、启动或停止等操作。 - `memcached.exe -d install`:安装服务 - `memcached.exe -d start`:...
- **解压**:首先,使用`tar -zxvf sqlite-autoconf-3120100.tar.gz`命令解压缩文件。 - **配置**:进入解压后的目录,运行`./configure`来检查系统环境,设置编译选项。 - **编译**:执行`make`命令来编译源代码...