热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

利用PHP和PEAR动态创建和编辑TAR文档-PHP源码

ec(2);如果你曾为你的UNIX系统下载过widget,那么你肯定遇到过TAR压缩文件。在UNIX系统中磁带归档文件格式常用于打包多个文件,以便于分发kvm。这种格式的流行不仅由于在所有UNIX系统中都存在该格式的创建工具,还因为在实际应用中,它便于保存归档文件的目录结构、许可信息、用户和组信息等写字楼。PHP中有大量的内建函数和可连接的扩展库,可用于几乎所有文件格式




如果你曾为你的UNIX系统下载过widget,那么你肯定遇到过TAR压缩文件。在UNIX系统中磁带归档文件格式常用于打包多个文件,以便于分发kvm。

这种格式的流行不仅由于在所有UNIX系统中都存在该格式的创建工具,还因为在实际应用中,它便于保存归档文件的目录结构、许可信息、用户和组信息等写字楼。

PHP中有大量的内建函数和可连接的扩展库,可用于几乎所有文件格式。特别是笔记本维修它可以通过PEAR的Archive_Tar类读取和创建TAR文档。在本文中,我们将向你说明这个类的行为,并演示开发人员是如何利用它动态地创建,编辑和显示TAR文档。

在这里我将假设你有一个工作数据库和安装了PHP,并且正确的安装了PEAR的Archive_Tar类。

注:你可以直接从网上安装PEAR 的Archive_Tar类包,或者从网上下载安装。

创建TAR文档

让我们从一个简单的例子开始:动态创建包含几个文件的TAR文档。使用下面的脚本:
列表 A

include (''Archive/Tar.php'');// import class

$obj = new Archive_Tar(''dummy.tar''); // name of archive

$files = array(''mystuff/ad.gif'',
''mystuff/alcon.doc'',
''mystuff/alcon.xls''); // files to store in archive

if ($obj->create($files)) {
echo ''Created successfully!'';
} else {
echo ''Error in file creation'';
}
>

这个脚本相当简单,但是还是值得具体看一下:

首先,创建Archive_Tar类的一个实例,初始化创建文档的路径和文件名。在本例中,文件名是dummy.tar,存于当前目录北京电磁炉。

其次,列出归档的所有文件,包括它们的磁盘地址,存于一个PHP数组中。脚本(更准确的说是运行脚本的用户)必须拥有访问这些磁盘地址的许可权,否则文档创建过程就会失败。

最后,creat()方法将所有的文件压缩到单个TAR文档。这个方法接受输入的文件名数组,返回一个布尔值表明文档是否成功创建。记住脚本必须拥有将文件写入命名磁盘地址的许可权,否则,creat()方法就无法使用,文档创建就会失败华泰圣达菲。

应用上面例子中的脚本,修改$files数组的内容以反映你的本地系统配置,在命令行或者浏览器中试着执行它,如果一切正常的话,脚本将会查找并读取这些文件到一个命名为dummy.tar的TAR文档中。

查看TAR文档内容

如何查看已经存在的TAR文件的内部信息呢?Archive_Tar类有一个listContent()方法,该方法可以查看一个TAR包中的每个组件的详细信息。列表B显示了如何使用它:

列表 B
include (''Archive/Tar.php'');// import class

$obj = new Archive_Tar(''dummy.tar''); // name of archive

$files = $obj->listContent();// array of file information

foreach ($files as $f) {
foreach ($f as $k => $v) {
echo "$k: $vn";
}
echo "n";
}
>

listContent()方法的输出是一个结构化数组,温度控制器每个数组元素代表文档中的一个文件。典型的是,每个元素有相应文件的名字信息,它的许可模式,所有者和组用户的ID,状态,大小和上一次修改的时间。通过一个循环可以很容易的提取这些信息,然后再对格式稍作修改使它根据表达性,像上面的例子中提到的。下面是一个输入示例:

校验和:3872

文件名:mystuff/alcon.doc

模式:33206

用户ID:433

组ID:106

大小:41472

时间:1140358031

向已经存在的TAR文档中添加文件

由于我们大家的健忘性国内旅游,有时可能忘记某个文件,Archive_Tar 类通过add()方法提供了
向已经存在的文档中添加新文件的能力
推荐阅读
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文详细介绍了如何使用ActionScript 3.0 (AS3) 连接并操作MySQL数据库。通过具体的代码示例和步骤说明,帮助开发者理解并实现这一过程。 ... [详细]
  • 在即将迎来26岁生日之际,作者的人生陷入了低谷。经过近三年的硕士学习后,最终决定退学,并且面临没有工作经验的困境。尽管如此,作者依然坚定地选择为自己的人生负责。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文详细介绍了美国最具影响力的十大财团,包括洛克菲勒、摩根、花旗银行等。这些财团在历史发展过程中逐渐形成,并对美国的经济、政治和社会产生深远影响。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 在网页开发中,页面加载速度是一个关键的用户体验因素。为了提升加载效率,避免在PageLoad事件中进行大量数据绑定操作,可以采用异步加载和特定控件来优化页面加载过程。 ... [详细]
author-avatar
zhangmy0815522
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有