我使用php ziparchive函数打开zip文件,并想列出位于zip文件中的文件夹的所有子文件夹。 例如... World.zip包含文件夹的国家,富&吧,我想列出该国文件夹的所有状态文件夹的名称,但不是富&酒吧如何列出zip文件中的文件夹的子文件夹而不提取?
0
A
回答
0
的我发现这note上的手册这是我得到的大部分代码从 这取决于通过文件
总数循环和我重构它来满足您的需求,这里是重构
<?php
$filePath = 'zip/file.zip';
$za = new ZipArchive();
if ($za->open($filePath) !== true) { // check for the zip archive
echo "archive doesn't exist or it's on Read-only mode ";
} else {
$Tree = $pathArray = array(); //empty arrays
for ($i = 0; $i < $za->numFiles; $i++) {
$path = $za->getNameIndex($i);
$pathBySlash = array_values(explode('/', $path));
$c = count($pathBySlash);
$temp = &$Tree;
for ($j = 0; $j < $c - 1; $j++)
if (isset($temp[$pathBySlash[$j]]))
$temp = &$temp[$pathBySlash[$j]];
else {
$temp[$pathBySlash[$j]] = array();
$temp = &$temp[$pathBySlash[$j]];
}
if (substr($path, -1) == '/')
$temp[$pathBySlash[$c - 1]] = array();
else
$temp[] = $pathBySlash[$c - 1];
}
$array = $Tree['folder_name_to_list_its_files'];
// First style of Displaying
echo "<pre>";
print_r($array);
// Second style of Displaying
foreach ($array as $key => $value) {
foreach ($value as $val) {
echo $key . " | " . $val . "<br /> \n";
}
}
echo "</pre>";
}
相关问题
- 1. 提取文件夹中的Zip文件
- 2. 如何在Python中列出zip文件夹中的文件夹?
- 3. 列出文件夹中的子文件夹 - Matlab(仅子文件夹,而不是文件)
- 4. 在PHP中提取ZIP文件的子文件夹
- 5. 从带有子文件夹的zip文件夹中提取文件到一个文件夹
- 6. 提取.zip到%appdata%\子文件夹
- 7. 列表而不extention的文件夹和子文件夹中的所有文件
- 8. Ionic Zip:提取文件夹的zip文件
- 9. python从zip文件夹中获取文件夹名称列表
- 10. 在Python中的子文件夹的ZIP文件夹
- 11. 如何获取文件夹的文件和子文件夹
- 12. 如何修改所有子文件夹而不是文件夹中的文件?
- 13. 如何使用PowerShell获取文件夹内所有文件夹名称的.txt文件,而不是子文件夹内的文件/子文件夹?
- 14. 如何添加文件夹,子文件夹内现有的zip文件
- 15. ZIP文件夹
- 16. 从Zip Archive中提取存在于文件夹中的文件
- 17. 如何从文件夹和子文件夹中提取数据文件
- 18. 如何创建文件夹并将* .zip内容提取到文件夹中?
- 19. 如何删除zip文件夹中的文件夹路径
- 20. SSIS如何提取多个.zip文件到多个文件夹
- 21. 如何只压缩文件夹内的文件而不压缩子文件夹?
- 22. MVC4列出文件夹中的所有子文件夹
- 23. NGINX从Ruby文件夹中的子文件夹中提取静态文件
- 24. 如何让pdf文件按文件夹列出文件夹?
- 25. 如何获取主文件夹的文件和子文件夹中的更改?
- 26. 列出excel中文件夹和子文件夹中的所有文件
- 27. 使该文件夹中的文件夹和子文件夹
- 28. Ionic Zip只提取特定文件夹
- 29. 仅列出文件夹文件而不是文件
- 30. PowerShell从zip文件中提取17个文件夹深
我试过$ zipFile->后的代码locateName(倍ername)但没有工作。 @Ares – Mihir