帮助 php 函数 zip_open

Posted

技术标签:

【中文标题】帮助 php 函数 zip_open【英文标题】:Help with php function zip_open 【发布时间】:2011-09-25 21:06:31 【问题描述】:

现在是凌晨 5 点,尽管我努力研究,但我找不到关于这个函数集的太多信息。这是我的代码(略微缩短):

<?php
$source = $_FILES["restore_file"]["tmp_name"];
$zip = zip_open($source);
while ($zip_entry = zip_read($zip)) 
    echo zip_entry_name($zip_entry).'\n';

?>

当我上传我的示例 zip 输出时:

example/
example/index.php
example/file1.csv
example/file2.csv
example/file3.csv
etc.

我需要知道如何访问这些文件的内容,并且还需要能够指定我正在访问的确切文件。例如,在浏览 csv 文件之前,我需要检查存档的 index.php 文件中的一个 php 变量,以确保它是正确的。

也许使用 ZipArchive 类而不是 zip 函数是一个更好的主意?我的印象是使用 zip 功能会更好,因为它可以动态访问文件(无需将文件传输到新目录)。

【问题讨论】:

【参考方案1】:

使用ZipArchive::getFromName()。适用于您的案例的 PHP 手册中的示例:

$zip = new ZipArchive();
if ($zip->open($_FILES["restore_file"]["tmp_name"]) === true) 
    echo $zip->getFromName('example/index.php');
    $zip->close();
 else 
    echo 'failed';

【讨论】:

以上是关于帮助 php 函数 zip_open的主要内容,如果未能解决你的问题,请参考以下文章

php WordPress的SVG帮助程序函数

PHP 帮助函数创建内容字段(CCK字段)

PHP 帮助函数通过引用查找表单元素

PHP 帮助函数创建内容类型

在非对象 PHP 帮助中调用成员函数 prepare()

php: 帮助函数 array_get 的扩展实现方式