欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php操作zip在不解壓縮包的情況下顯示壓縮包中的圖片

 更新時間:2017年11月30日 16:29:22   作者:斗牌傳說  
本文簡單介紹了PHP操作ZIP壓縮包時需要在不解壓的情況下如何直接顯示其中的圖片或文件,方法很簡單主要利用了PHP中的Zip File 系列函數(shù),base64_encode函數(shù),希望對大家能有所啟發(fā)

PHP操作ZIP壓縮包文件的基本方法大家應(yīng)該都知道怎么做(如不了解可在本文底部學(xué)習(xí)PHP操作ZIP的基本方法),那么如何在不解壓的情況下直接讀取壓縮包中的文件呢,如直接在頁面中顯示壓縮包中的圖片?

下面就給大家演示一下如何在不解壓的情況下直接顯示壓縮包中的圖片文件

$zip_path = '12.zip';//壓縮包實(shí)際路徑
$zip = zip_open($zip_path);//利用zip_open函數(shù)打開壓縮包
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ù)并輸入輸出到頁面中
 zip_entry_close($re);//關(guān)閉打開的壓縮包中的文件
}
zip_close($zip);//關(guān)閉壓縮包文件

這段代碼最主要的就是利用base64_encode把圖片文件的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成瀏覽器可讀的Base64圖片數(shù)據(jù)

注意:在使用PHP的ZIP FILE系列函數(shù)時請確認(rèn)你的PHP.ini文件中已開啟了php_zip.dll擴(kuò)展庫,且在PHP安裝目錄中的ext文件夾中是否有php_zip.dll (我用的是Windows系統(tǒng))。如果php_zip.dll不存在可以到下面這個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 文件中的一個項(xiàng)目。 4
zip_entry_compressedsize() 返回 ZIP 文件中的一個項(xiàng)目的被壓縮尺寸。 4
zip_entry_compressionmethod() 返回 ZIP 文件中的一個項(xiàng)目的壓縮方法。 4
zip_entry_filesize() 返回 ZIP 文件中的一個項(xiàng)目的實(shí)際文件尺寸。 4
zip_entry_name() 返回 ZIP 文件中的一個項(xiàng)目的名稱。 4
zip_entry_open() 打開 ZIP 文件中的一個項(xiàng)目以供讀取。 4
zip_entry_read() 讀取 ZIP 文件中的一個打開的項(xiàng)目。 4
zip_open() 打開 ZIP 文件。 4
zip_read() 讀取 ZIP 文件中的下一個項(xiàng)目。 4

相關(guān)文章

最新評論