Home  >  Article  >  Backend Development  >  php ob_start(ob_gzhandler) for web page compression_PHP tutorial

php ob_start(ob_gzhandler) for web page compression_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:44:311220browse

This article summarizes the implementation of web page compression and transmission using php ob_start (ob_gzhandler). Friends in need can refer to it.

Let’s first look at the usage of ob_start

Use the PHP ob_start() function to open the browser's cache. This ensures that the contents of the cache will not be output before you call flush(), ob_end_flush() (or the program is executed)

The code is as follows
 代码如下 复制代码

ob_start(); //打开缓冲区
phpinfo(); //使用phpinfo函数
$info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info
$file=fopen(’info.txt’,'w’); //打开文件info.txt
fwrite($file,$info); //写入信息到info.txt
fclose($file); //关闭文件info.txt

?> 

Copy code

代码如下 复制代码

//启用压缩
if(function_exists('ob_gzip'))
{
ob_start('ob_gzip');
}
//准备一些待压缩的内容
for($i=0; $i<100; $i++)
{
echo('这里是测试内容
');   
}   
//输出压缩成果   
ob_end_flush();   
  
  
//这是ob_gzip压缩函数   
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) ;   
}

ob_start(); //Open buffer
phpinfo(); //Use phpinfo function
$info=ob_get_contents(); //Get the contents of the buffer and assign it to $info
$file=fopen(’info.txt’,’w’); //Open the file info.txt
fwrite($file,$info); //Write information to info.txt
fclose($file); //Close file info.txt ?>

The above code is an example of compressing a web page. We use the ob_gzip function and ob_start to compress the output content and put it into the "buffer" before outputting it.
The code is as follows Copy code
//Enable compression
if(function_exists('ob_gzip'))
{ 
Ob_start('ob_gzip');

//Prepare some content to be compressed
for($i=0; $i<100; $i++)
{ 
echo('Here is the test content
');

//Output the compression results
ob_end_flush();


//This is ob_gzip compression function
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) ;
}
http://www.bkjia.com/PHPjc/633100.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/633100.htmlTechArticleThis article summarizes the implementation of web page compression and transmission using php ob_start (ob_gzhandler). Friends in need can refer to it. Let’s first look at the usage of ob_start. Use the PHP ob_start() function to open browsers...
Statement:
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