亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    php利用ZipArchive類實現(xiàn)文件壓縮與解壓

    php利用ZipArchive類實現(xiàn)文件壓縮與解壓

    ZipArchive類是專門用于文件的壓縮與解壓操作的類,通過壓縮文件可以達(dá)到節(jié)省磁盤空間的目的,并且壓縮文件體積更小,便于網(wǎng)絡(luò)傳輸。

    在ZipArchive類中我們主要使用如下方法:

    1:open(打開一個壓縮包文件)

    $zip = new ZipArchive; $zip->open('test_new.zip', ZipArchive::CREATE)

    參數(shù)說明:

    第一個參數(shù):要打開的壓縮包文件

    第二個參數(shù):

    ZIPARCHIVE::OVERWRITE總是創(chuàng)建一個新的文件,如果指定的zip文件存在,則會覆蓋掉。

    ZIPARCHIVE::CREATE如果指定的zip文件不存在,則新建一個。

    ZIPARCHIVE::EXCL如果指定的zip文件存在,則會報錯。

    ZIPARCHIVE::CHECKCONS對指定的zip執(zhí)行其他一致性測試。

    (免費學(xué)習(xí)視頻教程分享:php視頻教程)

    2:addFile(將指定文件添加到壓縮包中)

    //將test.txt文件添加到壓縮包中 $zip->addFile('test.txt'); //第二個參數(shù)可對文件進行重命名

    3:addEmptyDir (將指定空目錄添加到壓縮包中)

    //將一個空的目錄添加到zip中  $zip->addEmptyDir ('newdir');

    4:addFromString(將指定內(nèi)容的文件添加到壓縮包)

    // 將有指定內(nèi)容的new.txt文件添加到zip文件中 $zip->addFromString('new.txt', '要添加到new.txt文件中的文本');

    5:extractTO(將壓縮包解壓到指定目錄)

    $zip->extractTo('test');

    6:getNameIndex(根據(jù)索引返回文件名稱)

    $zip->getNameIndex(0);//返回壓縮包中索引為0的文件名稱

    7:getStream(根據(jù)壓縮內(nèi)的文件名稱,獲取該文件的文本流)

    $zip->getStream('hello.txt');

    8:renameIndex(根據(jù)壓縮文件內(nèi)的索引(從0開始)修改壓縮文件內(nèi)的文件名)

    /把壓縮文件內(nèi)第一個文件修改成newname.txt $zip->renameIndex(0,'newname.txt');

    9:renameName(根據(jù)壓縮文件內(nèi)的文件名,修改壓縮文件內(nèi)的文件名)

    //把壓縮文件內(nèi)的word.txt修改成newword.txt $zip->renameName('word.txt','newword.txt');

    10:deleteIndex (根據(jù)壓縮文件內(nèi)的索引刪除壓縮文件內(nèi)的文件)

    //把壓縮文件內(nèi)第一個文件刪除 $zip->deleteIndex (0);

    11:deleteName(根據(jù)壓縮文件內(nèi)的文件名刪除文件)

    //把壓縮文件內(nèi)的word.txt刪除 $zip->deleteName('word.txt');

    上面是ZipArchive類的一些常用方法,下面來介紹一些簡單示例:

    一:創(chuàng)建一個壓縮包

    $zip = new ZipArchive; if ($zip->open('test_new.zip', ZipArchive::CREATE) === true) {   // 將指定文件添加到zip中   $zip->addFile('test.txt');       // test.txt文件添加到zip并將其重命名為newfile.txt   $zip->addFile('test.txt', 'newfile.txt');       // 將test.txt文件添加到zip文件中的test文件夾內(nèi)   $zip->addFile('test.txt', 'test/newfile.txt');       //將一個空的目錄添加到zip中   $zip->addEmptyDir ('test');       // 將有指定內(nèi)容的new.txt文件添加到zip文件中   $zip->addFromString('new.txt', '要添加到new.txt文件中的文本');       // 將有指定內(nèi)容的new.txt添加到zip文件中的test文件夾   $zip->addFromString('test/new.txt', '要添加到new.txt文件中的文本');       //將images目錄下所有文件添加到zip中    if ($handle = opendir('images')){      // 添加目錄中的所有文件      while (false !== ($entry = readdir($handle))){         if ($entry != "." && $entry != ".." && !is_dir('images/' . $entry)){             $zip->addFile('images/' . $entry);         }      }      closedir($handle);    }       // 關(guān)閉zip文件   $zip->close(); }

    二:獲取壓縮包的文件信息并解壓指定壓縮包

    $zip = new ZipArchive; if ($zip->open('test_new.zip') === true) {   //獲取索引為0的文件名稱   var_dump($zip->getNameIndex(0));       //將壓縮包文件解壓到test目錄下   $zip->extractTo('test');       //獲取壓縮包指定文件的文本流   $stream = $zip->getStream('test.txt');       // 關(guān)閉zip文件   $zip->close();   $str = stream_get_contents($stream); //這里注意獲取到的文本編碼   var_dump($str); }

    三:修改壓縮包內(nèi)指定文件的文件名稱及刪除壓縮包內(nèi)指定文件

    $zip = new ZipArchive; if ($zip->open('test_new.zip') === true) {   //把壓縮文件內(nèi)索引為0的文件修改成newname.txt   $zip->renameIndex(0,'newname.txt');   //把壓縮文件內(nèi)的new.txt修改成newword.txt   $zip->renameName('new.txt','newword.txt');   //刪除壓縮文件內(nèi)索引為0的文件   $zip->deleteIndex(0);   //刪除壓縮文件的test.png   $zip->deleteName('test.png');   // 關(guān)閉zip文件   $zip->close(); }

    相關(guān)文章教程推薦:php教程

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號