PHP在線解壓ZIP文件解決方案
- 2018-07-24 17:59:00
- 小熊 原創
- 9253
一.背景
我們在使用空間的時候,通常服務商隻會給我們一箇FTP賬號和密碼,然後通過FTP遠程鏈接工具鏈接空間來上傳我們的代碼。這樣,會有一箇問題:如果代碼文件過多,上傳真的是非常慢的,幾箇小時都不足爲奇,如果牠能慢慢上傳完還好,如果遇到網絡或者其他原因造成網絡中斷,這種感受是非常痛苦的。
二.需求
如果能夠在空間直接上傳壓縮包的話,那速度肯定會快的多。但是上傳壓縮包之後,如何解壓是一箇問題。我們的空間,用戶穫取到的權限是有限的,有很多空間服務商沒有提供自助解壓服務。所以,我們需要能夠上傳壓縮包,還能解壓縮,那樣就完美瞭。
三.解決方案
網上也有很多關於在線解壓縮和壓縮的解決方法。比較流行的有 faisun_unzip 等等。關於PHP解壓縮,其實是需要安裝zlib擴展的,這樣關於壓縮相關函數纔能使用。具體可查看 http://www.zlib.net 瞭解。
貌似自php4.3開始zlib壓縮就已經內置在php中瞭,所以至少Windows環境下是不需要安裝zlib的。如果你真的找不到
php_zlib.dll文件,在上麵提供的網站上麵下載。
具體的安裝細節,我在這兒就不贅述瞭,如果不明白,請查查相關資料。
其中關於解壓縮相關函數的使用,我們簡單説一下。
gzclose () : 關閉一箇打開的壓縮文件。
gzeof(): 判斷是否在壓縮文件尾。
gzfile(): 讀壓縮文件到一箇數組中。
gzgetc(): 讀壓縮文件的字符。
gzgets(): 讀壓縮文件的字符串。
gzopen(): 打開壓縮文件。
gzputs(): 資料寫入壓縮文件。
gzread(): 壓縮文件讀齣指定長度字符串。
gzrewind(): 重設壓縮文件指針。
readgzfile(): 讀齣壓縮文件。
...
具體使用方法見手冊:
http://www.php.net/manual/zh/book.zlib.php
四.案例
封裝一箇頁麵,上傳至空間根目録,通過這箇頁麵訪問上傳zip壓縮包,或者瀏覽併選擇該文件所在目録下麵
的所有zip壓縮包。(以 faisun_unzip爲例,源碼自行百度)如下圖:
解壓到目録,就是你設置一箇需要解壓到的自定義目録下麵。留空的話,就是當前目録。
驗證密碼,就是在源文件中設置瞭一箇驗證碼,僅爲瞭安全考慮。
點擊解壓,我們看到瞭這箇頁麵:
服務器文件:
註意事項:1.如果你在使用過程中齣現報錯,你需要檢查環境,是否安裝瞭zlib擴展。
2.php 自帶的解壓縮類 ZipArchive 你可以瞭解一下。
聯繫人: | 小熊 |
---|---|
電話: | 18037578880 |
Email: | admin@cnsite.org |
QQ: | 929410000 |
微信: | itseor |
微博: | itseoer |
網址: | www.beatmoon.com |