php set output,php通过ini_set调用output_compression压缩网页

网页压缩是一种网页优化技术,可以让网页体积缩小后再传输到客户端,从而减少数据传送量,提高速度。这种技术现在使用已经相当普遍,绝大多数网页都使用了这种技术。

网页压缩可以在服务器或空间里通过参数设置启用或关闭,这个设置是对网站所有页面有效的,操作起来并不复杂。

如果你想单独操作某个页面,使用或不使用压缩,在php里也可以轻松实现。

ini_set调用zlib.output_compression压缩网页

下面是实例代码:

只需在网页的开头加上上述的一行代码即可。

加上代码后,可以立即检测网页gzip压缩是否设置有效了。

刚才说到,可以通过全局设置来控制整个网站所有网页启动或关闭网页压缩的功能,各种web服务器的具体设置操作可以看这里:网站启用GZip压缩后,速度快了3倍!

在一些案例中发现,ini_set调用zlib.output_compression设置为“on”后,php不发送Content-type header,从而导致网页输出内容不完整。在这种情况下,可以通过设置buffer size来代替。

下面是实例代码:

ini_set("zlib.output_compression", 4096);

?>

ob_gzhandler也能实现网页压缩

压缩网页,ob_gzhandler也能实现,不过效率没有zlib.output_compression高,请参考文章《zlib.output_compression比ob_gzhandler效率高》。

知识扩展

ini_set的用法

描述

string ini_set ( string $varname , string $newvalue )

设置配置项的值。配置选项将在脚本的执行时使用这个新的值,直到该脚本执行结束。

参数

varname

并非所有可用的选项都可以通过ini_set ()来修改。

newvalue

新值的选项。

返回值

成功则返回旧值,失败返回FALSE。

实例

echo ini_get('display_errors');

if (!ini_get('display_errors')) {

ini_set('display_errors', 1);

}

echo ini_get('display_errors');

?>

注意:

1.php.ini文件中,并不是所有的设置项都是以integer型存储的,比如upload_max_filesize项就是以简写形式( shorthand notation)存储的,因此直接用ini_get()并不能获得正确的值,可以调用return_bytes()函数进行转换。

2.并不是所有的available options都可以通过ini_set()函数来修改。具体哪些可以通过ini_set()函数来修改,参见http://www.php.net/manual/zh/ini.list.php

如下图所示:

3c2ef72f5b0ffb59673322a272e011a6.png

其中“可修改范围”的定义如下表:

a3639e7ab8556ca9735a180ea1997d38.png

因此,像post_max_size、upload_max_filesize用下面的方法是修改不了的。

[php] view plaincopyprint?

ini_set('post_max_size','1024M');

ini_set('upload_max_filesize','1024M');

ini_set('post_max_size','1024M');

ini_set('upload_max_filesize','1024M');

正确做法是用.htaccess文件:

[c-sharp] view plaincopyprint?

php_value upload_max_filesize 50M

php_value post_max_size 100M

php_value upload_max_filesize 50M

php_value post_max_size 100M

前提是该站点在httpd.conf中配置了:AllowOverride All 。

您可能对以下文章也感兴趣:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值