相信用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('<img src="data:image/%s;base64,%s">', $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
javascript 折半查找字元在陣列中的位置(有序列表)_javascript技巧
#
以上是如何用PHP在不解壓縮壓縮包的情況下顯示包內圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!