本文簡單介紹了PHP操作ZIP壓縮包時需要在不解壓縮的情況下如何直接顯示其中的圖片或文件,方法很簡單主要利用了PHP中的Zip File 系列函數,base64_encode函數,希望對大家能有所啟發並且提升自己的PHP技術。
PHP操作ZIP壓縮包檔案的基本方法大家應該都知道怎麼做(如不了解可在本文底部學習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="/static/imghwm/default1.png" data-src="data:image/%s;base64,%s" class="lazy" alt="php操作zip在不解壓縮包的情況下顯示壓縮包中的圖片_php技巧" >', $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的基本函數
描述 | PHP | |
---|---|---|
關閉ZIP 檔案。 | 4 | |
關閉 ZIP 檔案中的一個項目。 | 4 | |
傳回 ZIP 檔案中的一個項目的被壓縮尺寸。 | 4 | |
傳回 ZIP 檔案中的一個專案的壓縮方法。 | 4 | |
傳回 ZIP 檔案中的一個項目的實際檔案尺寸。 | 4 | |
傳回 ZIP 檔案中的一個項目的名稱。 | 4 | |
開啟 ZIP 檔案中的一個項目以供讀取。 | 4 | |
讀取 ZIP 檔案中的一個開啟的項目。 | 4 | |
#開啟 ZIP 檔案。 | 4 | |
讀取 ZIP 檔案中的下一個項目。 | 4 |
相關推薦:
######php產生zip檔類別實例詳解#######以上是php操作zip在不解壓縮包的情況下顯示壓縮包中的圖片_php技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

tomakephpapplicationsfaster,關注台詞:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,關注台詞:1)啟用opcodeCachingwithapCutoredUcescriptexecutiontime.2)實現databasequerycachingingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandreduceconnection.4 limitesclection.4.4

依赖注入(DI)通过显式传递依赖关系,显著提升了PHP代码的可测试性。1)DI解耦类与具体实现,使测试和维护更灵活。2)三种类型中,构造函数注入明确表达依赖,保持状态一致。3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境