Home Backend Development PHP Tutorial PHP enable gzip page compression example code_PHP tutorial

PHP enable gzip page compression example code_PHP tutorial

Jul 21, 2016 pm 03:40 PM
gzip php code common compression and Example accomplish turn on support server Browser want need page

To implement GZIP compressed pages, the browser and the server need to support it. In fact, it is server compression. After being transmitted to the browser, the browser decompresses and parses it. We don’t need to worry about the browser, because most browsers now support parsing GZIP pages. We just need to compress the page on the server side and then output it to the browser.
It’s a little wordy, let’s get down to business:
Just like to make compressed biscuits, you must first get the raw materials, and to compress a page, you must first obtain the content to be output. The ob_start() (ob => output buffer) function in PHP can achieve this function. It can first put the content to be output in the program into a place called "buffer". Of course, you can understand it as making compressed cookies. A workbench for temporarily placing raw materials.
This function must be used before the page is output, so it is generally placed at the top of the code. Because it is like a workbench, you have to prepare it before the raw materials arrive, otherwise there will be no place to put the raw materials when they arrive, and problems will occur. After using ob_start() to get the page to be compressed, we can make compressed cookies. No, the page should be compressed! But it seems that there is still a lack of a compressor. EZ, we use the zlib extension of PHP to make one:

Copy the code The code is as follows:

function ob_gzip($content) // $content is the page content to be compressed, or cookie raw material
{
if( !headers_sent() && // If the page header information has not been output yet
extension_loaded("zlib") && // And the zlib extension has been loaded into PHP
strstr($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip")) // And the browser says it can accept GZIP pages
{
$content = gzencode($content." n//This page has been compressed",9); Attach a comment label of "//This page has been compressed" to the content to be compressed, and then provide it with zlib The gzencode() function performs compression at level 9. The value range of this parameter is 0-9, 0 means no compression, and 9 means maximum compression. Of course, the higher the degree of compression, the more CPU is consumed.
//Then use the header() function to send some header information to the browser, telling the browser that this page has been compressed with GZIP!
header("Content-Encoding: gzip");
header("Vary: Accept-Encoding");
header("Content-Length: ".strlen($content));
}
return $content; //Return the compressed content, or send the compressed cookies back to the workbench.
}

After the compressor is done, we put the compressor on the workbench, so the original ob_start() becomes
ob_start('ob_gzip'); // That's right, just add a parameter to ob_start(), and the parameter name is the function name of the "compressor" we just made. In this way, when the content enters the buffer, PHP will call the ob_gzip function to compress it.
Okay, all the work has been completed, and the final delivery is:
ob_end_flush(); //End the buffer and output the content. Of course, you don't need this function, because the buffer content will be automatically output at the end of the program execution.
The complete example is as follows:
Copy the code The code is as follows:

//Enable A workbench with ob_gzip compressor
ob_start('ob_gzip');
//Prepare some content to be compressed
for($i=0; $i<100; $i )
{
echo('Here are the raw materials for compressed biscuits, here are the raw materials for compressed biscuits, raw materials');
}
//Output the compression results
ob_end_flush();
// This is ob_gzip compressor
function ob_gzip($content)
{
if( !headers_sent() &&
extension_loaded("zlib") &&
strstr($_SERVER["HTTP_ACCEPT_ENCODING"] ,"gzip"))
{
$content = gzencode($content." n//This page has been compressed",9);
header("Content-Encoding: gzip");
header("Vary: Accept-Encoding");
header("Content-Length: ".strlen($content));
}
return $content;
}
? >

After actual testing, if GZIP is not used in the above code, it is 4.69KB = 4802.56B. After enabling GZIP, it is reduced to 104B. Uh... I may not be good at math. I calculated the compression by myself. What percent of the original value? .
In addition, the following is the log information obtained using FlashGet. You can see the header information added in our program:
Copy the code The code is as follows:

Fri Jan 25 17:53:10 2008 HTTP/1.1 200 OK
Fri Jan 25 17:53:10 2008 Server: Microsoft-IIS/5.1
Fri Jan 25 17:53:10 2008 Date: Fri, 25 Jan 2008 09:53:10 GMT
Fri Jan 25 17:53:10 2008 Connection: close
Fri Jan 25 17:53:10 2008 X-Powered-By: PHP/5.2 .5
Fri Jan 25 17:53:10 2008 Content-Encoding: gzip
Fri Jan 25 17:53:10 2008 Vary: Accept-Encoding
Fri Jan 25 17:53:10 2008 Content- Length: 104
Fri Jan 25 17:53:10 2008 Content-type: text/html

Example 1 (using PHP’s built-in compression function):
Copy code The code is as follows:

if(Extension_Loaded('zlib')) Ob_Start('ob_gzhandler');
Header("Content-type: text/html");
?>




无标题文档


for($i=0;$i<10000;$i++){
echo 'Hello World!';
}
?>


if(Extension_Loaded('zlib')) Ob_End_Flush();
?>

示例二(自写函数):
复制代码 代码如下:






无标题文档




ob_end_flush();
//压缩函数
function ob_gzip($content){
if(!headers_sent()&&extension_loaded("zlib")&&strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")){
$content = gzencode($content,9);
header("Content-Encoding: gzip");
header("Vary: Accept-Encoding");
header("Content-Length: ".strlen($content));
}
return $content;
}
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/321325.htmlTechArticle要实现GZIP压缩页面需要浏览器和服务器共同支持,实际上就是服务器压缩,传到浏览器后浏览器解压并解析。浏览器那边不需要我们担心,...
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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

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)

The latest registration portal for Ouyi official website The latest registration portal for Ouyi official website Mar 21, 2025 pm 05:54 PM

As the world's leading digital asset trading platform, Ouyi OKX attracts many investors with its rich trading products, strong security guarantees and convenient user experience. However, the risks of network security are becoming increasingly severe, and how to safely register the official Ouyi OKX account is crucial. This article will provide the latest registration portal for Ouyi OKX official website, and explain in detail the steps and precautions for safe registration, including how to identify the official website, set a strong password, enable two-factor verification, etc., to help you start your digital asset investment journey safely and conveniently. Please note that there are risks in digital asset investment, please make cautious decisions.

Coinbase Exchange Login Port 2025 Coinbase Exchange Login Port 2025 Mar 21, 2025 pm 05:51 PM

Coinbase Security Login Guide: How to Avoid Phishing Sites and Scams? Phishing and scams are becoming increasingly rampant, and it is crucial to securely access the Coinbase official login portal. This article provides practical guides to help users securely find and use the latest official login portal of Coinbase to protect the security of digital assets. We will cover how to identify phishing sites, and how to log in securely through official websites, mobile apps or trusted third-party platforms, and provide suggestions for enhancing account security, such as using a strong password and enabling two-factor verification. To avoid asset losses due to incorrect login, be sure to read this article carefully!

Ouyi Exchange app domestic download tutorial Ouyi Exchange app domestic download tutorial Mar 21, 2025 pm 05:42 PM

This article provides a detailed guide to safe download of Ouyi OKX App in China. Due to restrictions on domestic app stores, users are advised to download the App through the official website of Ouyi OKX, or use the QR code provided by the official website to scan and download. During the download process, be sure to verify the official website address, check the application permissions, perform a security scan after installation, and enable two-factor verification. During use, please abide by local laws and regulations, use a safe network environment, protect account security, be vigilant against fraud, and invest rationally. This article is for reference only and does not constitute investment advice. Digital asset transactions are at your own risk.

Ouyi Exchange web version registration portal Ouyi registration portal Ouyi Exchange web version registration portal Ouyi registration portal Mar 20, 2025 pm 05:48 PM

This article details how to register an account on the official website of Ouyi OKX Exchange and start cryptocurrency trading. As the world's leading cryptocurrency exchange, Ouyi provides a wide range of trading varieties, multiple trading methods and strong security guarantees, and supports convenient withdrawal of a variety of fiat and cryptocurrencies. The article covers the search methods for Ouyi official website registration entrance, detailed registration steps (including email/mobile registration, information filling, verification code verification, etc.), as well as precautions after registration (KYC certification, security settings, etc.), and answers common questions to help novice users quickly and safely complete Ouyi account registration and start a cryptocurrency investment journey.

The world's top ten virtual currency trading platform app genuine download and installation tutorial The world's top ten virtual currency trading platform app genuine download and installation tutorial Mar 12, 2025 pm 05:33 PM

This article provides Android and Apple mobile APP download methods for mainstream digital currency trading platforms such as Binance, OKX, Gate.io, Huobi Global, Coinbase, KuCoin, Kraken and Bitfinex. Whether it is an Android user or an Apple user, you can easily find the official APP download link for the corresponding platform and complete the installation according to the steps. The article provides detailed guidance on searching and downloading on their respective official websites or app stores, and provides instructions on the special steps for installing APK files on Android, so that users can download and use them quickly and easily.

binance official website real-name authentication portal 2025 binance official website real-name authentication portal 2025 Mar 18, 2025 pm 01:51 PM

Binance official website real-name authentication tutorial: Improve account security, unlock more transaction functions and higher amounts! This article guides you in detail to complete Binance account authentication, including logging in to the official website, entering the verification page, selecting the authentication level (basic, intermediate, and advanced, covering uploading of ID cards, passports and other documents and video verification), and viewing review results. Quickly complete Binance real-name authentication to ensure the safety of your account and enjoy a more convenient transaction experience!

Detailed explanation of the issuance price and issuance time of LOOM coins Detailed explanation of the issuance price and issuance time of LOOM coins Mar 20, 2025 pm 06:21 PM

LOOM Coin, a once-highly-known blockchain game and social application development platform token, its ICO was held on April 25, 2018, with an issue price of approximately US$0.076 per coin. This article will conduct in-depth discussion on the issuance time, price and important precautions of LOOM coins, including market volatility risks and project development prospects. Investors should be cautious and do not follow the trend blindly. It is recommended to refer to the official website of Loom Network, blockchain browser and cryptocurrency information platform to obtain the latest information and conduct sufficient risk assessment. The information in this article is for reference only and does not constitute investment advice. Learn about LOOM coins, start here!

Binance Exchange app domestic download tutorial Binance Exchange app domestic download tutorial Mar 21, 2025 pm 05:45 PM

This article provides a safe and reliable Binance Exchange App download guide to help users solve the problem of downloading Binance App in the country. Due to restrictions on domestic application stores, the article recommends priority to downloading APK installation packages from Binance official website, and introduces three methods: official website download, third-party application store download, and friends sharing. At the same time, it emphasizes security precautions during the download process, such as verifying the official website address, checking application permissions, scanning with security software, etc. In addition, the article also reminds users to understand local laws and regulations, pay attention to network security, protect personal information, beware of fraud, rational investment, and secure transactions. At the end of the article, the article once again emphasized that downloading and using Binance App must comply with local laws and regulations, and at your own risk, and does not constitute any investment advice.

See all articles