我使用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