


PHP operates zip to display pictures in the compressed package without decompressing the package_php tips
This article briefly introduces how PHP needs to directly display the pictures or files in the ZIP compressed package without decompressing it. The method is very simple and mainly uses the PHP Zip File series function, base64_encode function, I hope it can inspire everyone and improve their PHP technology.
Everyone should know how to do the basic method of operating ZIP archive files with PHP (if you don’t know, you can learn the basic method of operating ZIP with PHP at the bottom of this article), then how to read the compression directly without decompressing it? What about the files in the package, such as displaying the pictures in the compressed package directly on the page?
The following will show you how to directly display the image files in the compressed package without decompression
$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 operates zip to display pictures in the compressed package without decompressing the package_php tips" >', $ext, base64_encode($buf));//利用base64_encode函数转换读取到的二进制数据并输入输出到页面中 zip_entry_close($re);//关闭打开的压缩包中的文件 } zip_close($zip);//关闭压缩包文件
The most important thing about this code is to use base64_encode to convert the binary data of the image file into browser-readable Base64 image data
Note: When using PHP's ZIP FILE When using a series of functions, please confirm that the php_zip.dll extension library has been enabled in your PHP.ini file, and whether there is php_zip.dll in the ext folder in the PHP installation directory (I am using a Windows system). If php_zip.dll does not exist, you can go to the following PHP official PECL expansion package site to obtain
PHP official PECL expansion package site address: http://pecl.php.net/package/zip
Select the compressed package corresponding to your PHP version;
Under Windows, you can directly drag and drop the php_zip.dll file in the compressed package to the ext folder in the PHP installation directory;
Linux system needs to be compiled Then modify the configuration file of PHP
Attach the basic functions of PHP to operate Zip File
Function | Description | PHP |
---|---|---|
Close the ZIP file. | 4 | |
Close an entry in a ZIP file. | 4 | |
Returns the compressed size of an item in the ZIP file. | 4 | |
Returns the compression method of an entry in a ZIP file. | 4 | |
Returns the actual file size of an entry in a ZIP file. | 4 | |
Returns the name of an entry in the ZIP file. | 4 | |
Open an entry in a ZIP file for reading. | 4 | |
Read an open entry in a ZIP file. | 4 | |
Open the ZIP file. | 4 | |
Read the next item in the ZIP file. | 4 |
Related recommendations:
PHP operation Zip_PHP tutorial
php generated zip file class instance detailed explanation
The above is the detailed content of PHP operates zip to display pictures in the compressed package without decompressing the package_php tips. For more information, please follow other related articles on the PHP Chinese website!

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

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


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver CS6
Visual web development tools

WebStorm Mac version
Useful JavaScript development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
