Home Backend Development PHP Tutorial Explanation on how to use php to operate zip and display the pictures in the compressed package without decompressing the package.

Explanation on how to use php to operate zip and display the pictures in the compressed package without decompressing the package.

Jul 07, 2018 pm 05:57 PM

This article briefly introduces how to directly display the pictures or files in the ZIP compressed package without decompressing it in PHP. The method is very simple and mainly uses the Zip File series functions and base64_encode function in PHP. I hope it can be helpful to everyone. Inspired

Everyone should know how to do the basic method of operating ZIP compressed file with PHP. (If you don’t know, you can learn the basic method of operating ZIP with PHP at the bottom of this article. method), then how to directly read the files in the compressed package without decompressing it, such as directly displaying the pictures in the compressed package on the page? The following will show you how to directly display the image files in the compressed package without decompressing

$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);//关闭压缩包文件
Copy after login


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 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 PHP configuration file

Attach the basic functions of PHP operating Zip File


Functionzip_close()zip_entry_close()zip_entry_compressedsize()zip_entry_compressionmethod()zip_entry_filesize()zip_entry_name()zip_entry_open()zip_entry_read()zip_open()zip_read()
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

Articles you may be interested in:

How to implement the check-in function in php Detailed explanation of example analysis


Detailed explanation of solving the problem of memory exhaustion caused by too many php-fpm processes under Linux


php Detailed analysis of method examples to implement the check-in function


The above is the detailed content of Explanation on how to use php to operate zip and display the pictures in the compressed package without decompressing the package.. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Describe the SOLID principles and how they apply to PHP development. Describe the SOLID principles and how they apply to PHP development. Apr 03, 2025 am 12:04 AM

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set permissions of unixsocket after system restart? How to automatically set permissions of unixsocket after system restart? Mar 31, 2025 pm 11:54 PM

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

How to debug CLI mode in PHPStorm? How to debug CLI mode in PHPStorm? Apr 01, 2025 pm 02:57 PM

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

How to send a POST request containing JSON data using PHP's cURL library? How to send a POST request containing JSON data using PHP's cURL library? Apr 01, 2025 pm 03:12 PM

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

Explain the concept of late static binding in PHP. Explain the concept of late static binding in PHP. Mar 21, 2025 pm 01:33 PM

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

See all articles