PHP操作ZIP壓縮包文件的基本方法大家應(yīng)該都知道怎么做(如不了解可在本文底部學(xué)習(xí)PHP操作ZIP的基本方法),那么如何在不解壓的情況下直接讀取壓縮包中的文件呢,如直接在頁(yè)面中顯示壓縮包中的圖片?
下面就給大家演示一下如何在不解壓的情況下直接顯示壓縮包中的圖片文件
$zip_path = '12.zip';//壓縮包實(shí)際路徑
$zip = zip_open($zip_path);//利用zip_open函數(shù)打開(kāi)壓縮包
while ($re = zip_read($zip)) {//讀依次讀取包中的文件
if (!zip_entry_filesize($re)) break;//如果文件大小為0退出操作
$entry_zp = zip_entry_open($zip,$re,'rb');//讀取包中文件
$ext = pathinfo(zip_entry_name ($re),PATHINFO_EXTENSION);//獲取圖片文件擴(kuò)展名
$buf = zip_entry_read($re,zip_entry_filesize($re));//讀取文件二進(jìn)制數(shù)據(jù)
echo sprintf('img src="data:image/%s;base64,%s">', $ext, base64_encode($buf));//利用base64_encode函數(shù)轉(zhuǎn)換讀取到的二進(jìn)制數(shù)據(jù)并輸入輸出到頁(yè)面中
zip_entry_close($re);//關(guān)閉打開(kāi)的壓縮包中的文件
}
zip_close($zip);//關(guān)閉壓縮包文件
這段代碼最主要的就是利用base64_encode把圖片文件的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成瀏覽器可讀的Base64圖片數(shù)據(jù)
注意:在使用PHP的ZIP FILE系列函數(shù)時(shí)請(qǐng)確認(rèn)你的PHP.ini文件中已開(kāi)啟了php_zip.dll擴(kuò)展庫(kù),且在PHP安裝目錄中的ext文件夾中是否有php_zip.dll (我用的是Windows系統(tǒng))。如果php_zip.dll不存在可以到下面這個(gè)PHP官方PECL擴(kuò)展包站上獲取
PHP官方PECL擴(kuò)展包站地址:http://pecl.php.net/package/zip
選擇與你PHP版本相應(yīng)的壓縮包;
Windows下可以直接把壓縮包中的php_zip.dll文件拖放至PHP安裝目錄中的ext文件夾中即可;
Linux系統(tǒng)需要編譯后再修改PHP的配置文件
附上PHP操作Zip File的基本函數(shù)
函數(shù) |
描述 |
PHP |
zip_close() |
關(guān)閉 ZIP 文件。 |
4 |
zip_entry_close() |
關(guān)閉 ZIP 文件中的一個(gè)項(xiàng)目。 |
4 |
zip_entry_compressedsize() |
返回 ZIP 文件中的一個(gè)項(xiàng)目的被壓縮尺寸。 |
4 |
zip_entry_compressionmethod() |
返回 ZIP 文件中的一個(gè)項(xiàng)目的壓縮方法。 |
4 |
zip_entry_filesize() |
返回 ZIP 文件中的一個(gè)項(xiàng)目的實(shí)際文件尺寸。 |
4 |
zip_entry_name() |
返回 ZIP 文件中的一個(gè)項(xiàng)目的名稱(chēng)。 |
4 |
zip_entry_open() |
打開(kāi) ZIP 文件中的一個(gè)項(xiàng)目以供讀取。 |
4 |
zip_entry_read() |
讀取 ZIP 文件中的一個(gè)打開(kāi)的項(xiàng)目。 |
4 |
zip_open() |
打開(kāi) ZIP 文件。 |
4 |
zip_read() |
讀取 ZIP 文件中的下一個(gè)項(xiàng)目。 |
4 |
您可能感興趣的文章:- php利用ZipArchive類(lèi)操作文件的實(shí)例
- php ZipArchive實(shí)現(xiàn)多文件打包下載實(shí)例
- PHP生成zip壓縮包的常用方法示例
- php解壓縮zip和rar壓縮包文件的方法
- 實(shí)例介紹PHP中zip_open()函數(shù)用法
- PHP zip壓縮包操作類(lèi)完整實(shí)例
- PHP實(shí)現(xiàn)打包zip并下載功能
- PHP實(shí)現(xiàn)將多個(gè)文件壓縮成zip格式并下載到本地的方法示例
- PHP使用zlib擴(kuò)展實(shí)現(xiàn)GZIP壓縮輸出的方法詳解
- linux服務(wù)器安裝PHP擴(kuò)展zip,zlib方法
- 基于PHP安裝zip拓展,以及l(fā)ibzip安裝的問(wèn)題
- php 解壓zip壓縮包內(nèi)容到指定目錄的實(shí)例
- 如何使用php生成zip壓縮包