相信用PHP操作ZIP壓縮包文件的基本方法大家都是知道怎麼做的,那麼在一些特殊情況下我們需要不解壓也能看到壓縮包內的文件,這需要怎樣操作呢?今天就帶給大家這樣一個方法,我們一起來看看。
1 2 3 4 5 6 7 8 9 10 11 | $zip_path = '12.zip';
$zip = zip_open( $zip_path );
while ( $re = zip_read( $zip )) {
if (!zip_entry_filesize( $re )) break ;
$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('<img src= "data:image/%s;base64,%s" >', $ext , base64_encode ( $buf ));
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的基本函數
1 2 3 4 5 6 7 8 9 10 | 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中文網其他相關文章!