我使用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. 列出文件夾中的子文件夾 - Matlab(僅子文件夾,而不是文件)
- 3. 從帶有子文件夾的zip文件夾中提取文件到一個文件夾
- 4. 列表而不extention的文件夾和子文件夾中的所有文件
- 5. python從zip文件夾中獲取文件夾名稱列表
- 6. 如何獲取文件夾的文件和子文件夾
- 7. 如何修改所有子文件夾而不是文件夾中的文件?
- 8. 如何使用PowerShell獲取文件夾內所有文件夾名稱的.txt文件,而不是子文件夾內的文件/子文件夾?
- 9. 如何添加文件夾,子文件夾內現有的zip文件
- 10. ZIP文件夾
- 11. 從Zip Archive中提取存在於文件夾中的文件
- 12. 如何從文件夾和子文件夾中提取數據文件
- 13. 如何創建文件夾並將* .zip內容提取到文件夾中?
- 14. 如何刪除zip文件夾中的文件夾路徑
- 15. SSIS如何提取多個.zip文件到多個文件夾
- 16. NGINX從Ruby文件夾中的子文件夾中提取靜態文件
- 17. 如何讓pdf文件按文件夾列出文件夾?
- 18. 如何獲取主文件夾的文件和子文件夾中的更改?
- 19. 使該文件夾中的文件夾和子文件夾
- 20. Ionic Zip只提取特定文件夾
- 21. PowerShell從zip文件中提取17個文件夾深
- 22. 列出文件夾中的文件
- 23. C - 列出文件夾和所有子文件夾中包含的文件
- 24. 如何讀取父文件夾和子文件夾中的特定文件(.xml)
- 25. 如何讀取文件夾中的所有txt文件? (包括子文件夾)
- 26. 如何從Sdcard文件夾的子文件夾獲取圖像?
- 27. 在DOS和Unix中列出文件夾和子文件夾?
- 28. 刪除文件的文件夾,而不是文件夾
- 29. 如何指定自解壓ZIP文件的輸出文件夾
- 30. 如何獲取文件夾內的文件是zip檔案
我試過$ zipFile->後的代碼locateName(倍ername)但沒有工作。 @Ares – Mihir