PHP壓縮與歸檔——Zlib

來源:互聯網
上載者:User
大多數檔案系統函數使用gzip來壓縮檔,本模組可以協助透明讀取gzip壓縮檔。

在PHP中Zlib支援預設並沒有開啟。需要安裝配置 PHP的時候使用 --with-zlib[=DIR]。

下面這個例子開啟了一個臨時檔案來寫入測試字串,然後兩次列印檔案內容。

Example #1 簡單的Zlib樣本

<?php    $filename = tempnam('/tmp', 'zlibtest') . '.gz';    echo "<html>\n<head></head>\n<body>\n<pre>\n";    $s = "Only a test, test, test, test, test, test, test, test!\n";    // open file for writing with maximum compression    $zp = gzopen($filename, "w9");    // write string to file    gzwrite($zp, $s);    // close file    gzclose($zp);    // open file for reading    $zp = gzopen($filename, "r");    // read 3 char    echo gzread($zp, 3);    // output until end of the file and close it.    gzpassthru($zp);    gzclose($zp);    echo "\n";    // open file and print content (the 2nd time).    if (readgzfile($filename) != strlen($s)) {        echo "Error with zlib functions!";    }    unlink($filename);    echo "</pre>\n</body>\n</html>\n";?>

相關函數:

gzclose — Close an open gz-file pointer

gzcompress — Compress a string

gzdecode — Decodes a gzip compressed string

gzdeflate — Deflate a string

gzencode — Create a gzip compressed string

gzeof — Test for EOF on a gz-file pointer

gzfile — Read entire gz-file into an array

gzgetc — Get character from gz-file pointer

gzgets — Get line from file pointer

gzgetss — Get line from gz-file pointer and strip HTML tags

gzinflate — Inflate a deflated string

gzopen — Open gz-file

gzpassthru — Output all remaining data on a gz-file pointer

gzputs — 別名 gzwrite

gzread — Binary-safe gz-file read

gzrewind — Rewind the position of a gz-file pointer

gzseek — Seek on a gz-file pointer

gztell — Tell gz-file pointer read/write position

gzuncompress — Uncompress a compressed string

gzwrite — Binary-safe gz-file write

readgzfile — Output a gz-file

zlib_decode — Uncompress any raw/gzip/zlib encoded data

zlib_encode — Compress data with the specified encoding

zlib_get_coding_type — Returns the coding type used for output compression

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.