真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHPZipArchive解壓縮時(shí)如何去掉zip包里的多余目錄層級(jí)

這篇文章主要介紹PHP ZipArchive解壓縮時(shí)如何去掉zip包里的多余目錄層級(jí),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)聯(lián)系電話:18982081108,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),成都創(chuàng)新互聯(lián)網(wǎng)頁(yè)制作領(lǐng)域十載,包括封陽(yáng)臺(tái)等多個(gè)領(lǐng)域擁有多年的網(wǎng)站制作經(jīng)驗(yàn),選擇成都創(chuàng)新互聯(lián),為網(wǎng)站保駕護(hù)航。

                                                       

寫了個(gè)腳本,下載discuzQ,并解壓到指定 git 倉(cāng)儲(chǔ)下,方便更新代碼。

遇到一個(gè)問(wèn)題,在解壓 uniapp 這個(gè)zip包時(shí),里面多了一層目錄包裝,如果直接解壓到指定目錄,也會(huì)造成多了一級(jí)目錄,如下圖:

PHP ZipArchive解壓縮時(shí)如何去掉zip包里的多余目錄層級(jí)

那如何從zip包里解壓,并去掉多余一層的目錄 uniapp_v2.xxxx,可以看下面的 copy("zip://{$zipFile}#{$filename}", $newFileName);

 __DIR__ . '/zips',
    'uniapp'  => __DIR__ . '/uniapp',
];

downloadAndExtract('https://dl.discuz.chat/uniapp_latest.zip', 'uniapp');

function downloadAndExtract($zipUrl, $key)
{
    global $config;

    echo "正在下載: $zipUrl\n";
    $zipData = file_get_contents($zipUrl);
    $zipFile = $config->zips . "/$key-" . date('Ymd-His') . '.zip';
    file_put_contents($zipFile, $zipData);

    echo "正在解壓到 {$config->$key} \n";
    $zip = new ZipArchive;

    if ($key === 'uniapp') {
        if ($zip->open($zipFile) === true) {
            $folder = $zip->getNameIndex(0);
            for ($i = 1; $i < $zip->numFiles; $i++) {
                $filename = $zip->getNameIndex($i);
                if (substr($filename, -1, 1) === '/') {
                    continue;
                }

                // $folder like => uniapp_v2.1.201029/
                // $filename like => uniapp_v2.1.201029/commitlint.config.js
                $newFileName = $config->$key . '/' . str_replace($folder, '', $filename);
                if (!file_exists(dirname($newFileName))) {
                    mkdir(dirname($newFileName), 0644, true);
                }
                copy("zip://{$zipFile}#{$filename}", $newFileName);
            }
            $zip->close();
        }
    } 

    echo "-------------- SUCESS --------------\n";
}

以上是PHP ZipArchive解壓縮時(shí)如何去掉zip包里的多余目錄層級(jí)的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)頁(yè)題目:PHPZipArchive解壓縮時(shí)如何去掉zip包里的多余目錄層級(jí)
瀏覽地址:http://weahome.cn/article/gcipgc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部