search
Homephp教程PHP源码利用PHP和PEAR动态创建和编辑TAR文档

<script>ec(2);</script>



如果你曾为你的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()方法提供了
向已经存在的文档中添加新文件的能力
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
如何在Ubuntu 22.04上安装Linux 内核 详细教程!如何在Ubuntu 22.04上安装Linux 内核 详细教程!Mar 01, 2024 pm 10:34 PM

在Ubuntu22.04上安装Linux内核可以按照以下步骤进行操作:更新系统:首先,确保你的Ubuntu系统是最新的,执行以下命令更新系统软件包:sudoaptupdatesudoaptupgrade下载内核文件:访问Linux内核官方网站()下载所需的内核版本。选择一个稳定版本并下载源代码文件(以.tar.gz或.tar.xz为扩展名),例如:wget解压文件:使用以下命令解压下载的内核源代码文件:tar-xflinux-5.14.tar.xz安装构建依赖:安装构建内核所需的工具和依赖项。执

如何在 Windows 11 上创建 7Z 和 TAR 存档文件如何在 Windows 11 上创建 7Z 和 TAR 存档文件Nov 17, 2023 pm 07:09 PM

尽管Windows11允许您从多种存档格式中提取文件,但创建它们仅限于ZIP,也就是说,直到现在。Windows11现在还允许您本地创建7Z和TAR存档文件,这可以像普通ZIP文件一样完成,而无需依赖第三方工具。如何在没有第三方软件的情况下在Windows11上创建7Z和TAR存档文件早些时候,Windows11获得了对提取各种存档文件格式的支持,包括.rar、.7z、.tgz、.tar.gz、.tar.bz2等等。但是,创建它们仅限于ZIP存档。但是,对将文件压缩为7Z和TAR存档文件格式的本

如何使用Java中的Files函数进行文件操作如何使用Java中的Files函数进行文件操作Jun 26, 2023 pm 04:21 PM

在Java编程语言中,经常需要进行文件的读取、写入、复制、删除等操作。Java提供了一组Files类的函数来进行文件操作。本文将介绍如何使用Java中的Files函数进行文件操作。导入所需的包在进行文件操作之前,首先要导入Java的io包和nio包:importjava.io.File;importjava.io.IOException;import

files是什么文件files是什么文件Dec 20, 2023 pm 02:11 PM

“files”本身并不是一个特定的文件类型,而是一个泛指的概念。

Centos7系统&#8212;文件压缩与解压命令详解。Centos7系统&#8212;文件压缩与解压命令详解。Feb 19, 2024 pm 02:30 PM

CentOS7系统提供了多种命令用于文件压缩和解压缩操作,下面是一些常用命令及其用法。tar:tar命令用于打包文件或目录,并可选地压缩为tar压缩包。创建tar压缩包:tar-cvfarchive.tarfile1file2directory解压tar压缩包:tar-xvfarchive.tar创建tar.gz压缩包:tar-czvfarchive.tar.gzfile1file2directory解压tar.gz压缩包:tar-xzvfarchive.tar.gz创建tar.bz2压缩包:t

怎么使用tar命令备份Linux云服务器怎么使用tar命令备份Linux云服务器May 20, 2023 pm 05:19 PM

基本命令执行以下命令备份整个文件系统:sudo/usr/bin/tar-czpvf/home/zhaomu/backup/linux_backup.tar.gz/其中各参数说明如下:-c:表示归档。-z:使用gzip格式备份。gzip的备份速度较快,但相比其他方式生成的备份文件也较大。-p:备份的同时保留文件的权限,在恢复时不至于产生权限问题。-v:显示备份过程的详细信息。-f:指定备份的目录和文件名。/:表示备份整个文件系统。增强命令1、排除不需要备份的文件以上备份命令并非最优方案,原因是整个

使用Java 11中的新的Files类和Path类进行文件系统操作使用Java 11中的新的Files类和Path类进行文件系统操作Jul 30, 2023 pm 10:25 PM

使用Java11中的新的Files类和Path类进行文件系统操作Java11引入了一些新的类和功能,其中包括对文件系统操作的改进。新的Files类和Path类提供了更方便、更灵活的文件操作方式,让我们能够更轻松地处理文件和目录。在Java11之前,我们通常使用java.io.File类进行文件和目录的操作。然而,这个类的功能相对有限,不够灵活。Java

Linux备份工具推荐与比较Linux备份工具推荐与比较Mar 20, 2024 am 09:39 AM

Linux备份工具推荐与比较在日常工作中,数据备份是至关重要的一项操作,无论是个人用户还是企业级用户都需要对重要数据进行备份,以防止意外数据丢失。而在Linux系统下,有许多备份工具可供选择,每种工具都有其特点和适用场景。本文将介绍几款常用的Linux备份工具,并对它们进行比较和推荐。rsyncrsync是一个功能强大的文件同步工具,可以在本地或通过SSH协

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),