在PHP中打开并列出zip档案中的文件/文件夹


Open and List files/folders in a zip archive in PHP

好吧,

我需要的是:

PHP脚本,它可以打开并回显zip存档中包含的所有顶级文件和文件夹,保存在以下位置:

/submittions/projects/zip/file_name.zip

所以,如果一个zip档案包含3个文件夹和2个顶级文件,而这三个顶级文件夹中都有子文件夹,我应该得到的结果是:

folder_name_1
folder_name_2
folder_name_3
file_name_1
file_name_2

我试着在这里找,但还是一无所获。

有一个提取教程,但它没有清楚地说明如何列出每个文件:

http://net.tutsplus.com/articles/news/how-to-open-zip-files-with-php/

我试过zip_open($path_to_zip)

在使用此函数时,我得到的输出为5。我相信这是一个错误数字。所有这些ZIP文件都设置为CHMOD 777

还有一件事,在应用zip_open()时,如果我测试文件是否打开,我会得到两种不同的情况,如下所示:

$zip  =  zip_open($path);
// CHECK ONE
if($zip) {
 echo "Opened";
} else {
 echo "Failed";
}
// CHECK TWO
if(is_resource($zip)) {
 echo "Opened";
} else {
 echo "Failed";
}

勾选一返回打开,勾选二返回失败。

我只想把文件和文件夹名放在zip档案中,如果你能给我一个简单明了的解决方案,而不需要任何提取部分,那就太好了,如果可能的话?

我的服务器的PHP配置如下:http://academicadda.com/info.php

以下是zip.zip在同一目录中的简单代码:

<?php 
$zip    =   zip_open('zip.zip');
if(is_resource($zip)) {
echo "open";
} else {
echo "failed";
}
?>

输出:打开

读取每个顶级文件和文件夹的代码应该是什么?zip_read()?

if($zip)返回true,因为它是一个正值,在您的情况下为5。错误代码5引用了"无法读取"问题。我建议您检查您的路径和权限。

谢谢你们对我的称呼。

这是路径和权限问题。

以下是我在解决方法后终于得到的解决方案:

<?php 
$zip    =   zip_open('zip.zip');
if(is_resource($zip)) {
   while (($zip_entry = zip_read($zip)))
        {
            echo $path = zip_entry_name($zip_entry);
        }
} else {
   echo "failed";
}
?>