首頁  >  文章  >  後端開發  >  如何用PHP在不解壓縮壓縮包的情況下顯示包內圖片

如何用PHP在不解壓縮壓縮包的情況下顯示包內圖片

php中世界最好的语言
php中世界最好的语言原創
2017-12-20 14:14:421554瀏覽

相信用PHP操作ZIP壓縮包文件的基本方法大家都是知道怎麼做的,那麼在一些特殊情況下我們需要不解壓也能看到壓縮包內的文件,這需要怎樣操作呢?今天就帶給大家這樣一個方法,我們一起來看看。

$zip_path = '12.zip';//压缩包实际路径
$zip = zip_open($zip_path);//利用zip_open函数打开压缩包
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);//获取图片文件扩展名
 $buf = zip_entry_read($re,zip_entry_filesize($re));//读取文件二进制数据
 echo sprintf(&#39;<img src="data:image/%s;base64,%s">&#39;, $ext, base64_encode($buf));//利用base64_encode函数转换读取到的二进制数据并输入输出到页面中
 zip_entry_close($re);//关闭打开的压缩包中的文件
}
zip_close($zip);//关闭压缩包文件



這段程式碼最主要的就是利用base64_encode把圖片檔案的二進位資料轉換成瀏覽器可讀的Base64圖片數據

注意:使用PHP的ZIP FILE系列函數時請確認你的PHP.ini檔案中已開啟了php_zip.dll擴充函式庫,且在PHP安裝目錄中的ext資料夾中是否有php_zip. dll (我用的是Windows系統)。如果php_zip.dll不存在可以到下面這個PHP官方PECL擴充包站上取得

PHP官方PECL擴充包站位址:http://pecl.php.net/package/zip

# #選擇與你PHP版本對應的壓縮包;
Windows下可以直接把壓縮包中的php_zip.dll檔拖放至PHP安裝目錄中的ext資料夾中即可;
Linux系統需要編譯後再修改PHP的設定檔

附上PHP操作Zip File的基本函數

zip_close()    关闭 ZIP 文件。    4    
zip_entry_close()    关闭 ZIP 文件中的一个项目。    4    
zip_entry_compressedsize()    返回 ZIP 文件中的一个项目的被压缩尺寸。    4    
zip_entry_compressionmethod()    返回 ZIP 文件中的一个项目的压缩方法。    4    
zip_entry_filesize()    返回 ZIP 文件中的一个项目的实际文件尺寸。    4    
zip_entry_name()    返回 ZIP 文件中的一个项目的名称。    4    
zip_entry_open()    打开 ZIP 文件中的一个项目以供读取。    4    
zip_entry_read()    读取 ZIP 文件中的一个打开的项目。    4    
zip_open()    打开 ZIP 文件。    4    
zip_read()    读取 ZIP 文件中的下一个项目。    4


##我相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

相關閱讀:

java演算法中的關於二分查找與折半查找的實例詳解

javascript折半查找詳解_javascript技巧

javascript 折半查找字元在陣列中的位置(有序列表)_javascript技巧
#

以上是如何用PHP在不解壓縮壓縮包的情況下顯示包內圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn