溫馨提示×

php怎么讀取zip內目錄

PHP
小億
101
2023-11-03 23:56:44
欄目: 編程語言

您可以使用以下代碼來讀取zip文件內的目錄:

$zip = new ZipArchive;
if ($zip->open('file.zip') === TRUE) {
    for ($i = 0; $i < $zip->numFiles; $i++) {
        $filename = $zip->getNameIndex($i);
        if (substr($filename, -1) == '/') {
            echo $filename . "\n";
        }
    }
    $zip->close();
}

在上面的示例中,我們首先創建一個ZipArchive對象,然后打開zip文件。使用getNameIndex()方法可以獲取zip文件內每個文件的名稱,然后我們檢查文件名的最后一個字符是否為'/',如果是的話,說明該文件是一個目錄。我們將目錄名稱打印出來。

請注意,上述代碼只能讀取zip文件內的目錄,無法讀取目錄內的文件。如果您需要讀取目錄內的文件,請參考以下代碼:

$zip = new ZipArchive;
if ($zip->open('file.zip') === TRUE) {
    for ($i = 0; $i < $zip->numFiles; $i++) {
        $filename = $zip->getNameIndex($i);
        if (substr($filename, -1) != '/') {
            $dirname = dirname($filename);
            if (!in_array($dirname, $directories)) {
                $directories[] = $dirname;
                echo $dirname . "\n";
            }
        }
    }
    $zip->close();
}

在上面的代碼中,我們使用dirname()函數獲取文件的目錄名稱,并使用一個數組$directories來存儲已讀取的目錄名稱,以避免重復輸出。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女