壓縮 - php打包檔案方案

來源:互聯網
上載者:User
我想做個線上匯出markdown文章的功能,把使用者的所以文章產生文字檔,然後打包成zip檔案,讓使用者下載。
php怎麼打包,有什麼好的類,最好是laravel的包?
還有怎麼做才能在最上層顯示打包進度?

回複內容:

我想做個線上匯出markdown文章的功能,把使用者的所以文章產生文字檔,然後打包成zip檔案,讓使用者下載。
php怎麼打包,有什麼好的類,最好是laravel的包?
還有怎麼做才能在最上層顯示打包進度?

PHP內建類 ZipArchive

以下為PHP手冊內建樣本

// Example #1 建立一個 Zip 歸檔open($filename, ZIPARCHIVE::CREATE)!==TRUE) {    exit("cannot open <$filename>\n");}$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");$zip->addFile($thisdir . "/too.php","/testfromfile.php");echo "numfiles: " . $zip->numFiles . "\n";echo "status:" . $zip->status . "\n";$zip->close();?>  // Example #2 輸出文檔細節和列表open('test_with_comment.zip');print_r($za);var_dump($za);echo "numFiles: " . $za->numFiles . "\n";echo "status: " . $za->status  . "\n";echo "statusSys: " . $za->statusSys . "\n";echo "filename: " . $za->filename . "\n";echo "comment: " . $za->comment . "\n";for ($i=0; $i<$za->numFiles;$i++) {    echo "index: $i\n";    print_r($za->statIndex($i));}echo "numFile:" . $za->numFiles . "\n";?>  // Example #3 Zip 流封裝,讀取一個 OpenOffice 檔案的元資訊open('zip://' . dirname(__FILE__) . '/test.odt#meta.xml');$odt_meta = array();while ($reader->read()) {    if ($reader->nodeType == XMLREADER::ELEMENT) {        $elm = $reader->name;    } else {        if ($reader->nodeType == XMLREADER::END_ELEMENT && $reader->name == 'office:meta') {            break;        }        if (!trim($reader->value)) {            continue;        }        $odt_meta[$elm] = $reader->value;    }}print_r($odt_meta);?>  // 此例使用了舊的 API(PHP 4),它開啟了一個 ZIP 檔案歸檔,讀取歸檔裡的每個檔案,並輸出檔案內容。此例用到的 test2.zip 文檔是 ZZIPlib 源分布裡測試文檔中的一個。 // Example #4 Zip 使用範例 
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.