⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gzip.php

📁 mambo的cms源代码
💻 PHP
字号:
<?PHP/** * patTemplate GZip output filter * * $Id: Gzip.php,v 1.4 2004/04/01 20:18:24 schst Exp $ * * Checks the accept encoding of the browser and * compresses the data before sending it to the client. * * @package		patTemplate * @subpackage	Filters * @author		Stephan Schmidt <schst@php.net> *//** * patTemplate GZip output filter * * $Id: Gzip.php,v 1.4 2004/04/01 20:18:24 schst Exp $ * * Checks the accept encoding of the browser and * compresses the data before sending it to the client. * * @package		patTemplate * @subpackage	Filters * @author		Stephan Schmidt <schst@php.net> */class patTemplate_OutputFilter_Gzip extends patTemplate_OutputFilter{   /**    * filter name	*	* This has to be set in the final	* filter classes.	*	* @access	protected	* @abstract	* @var	string	*/	var	$_name	=	'Gzip';   /**	* compress the data	*	* @access	public	* @param	string		data	* @return	string		compressed data	*/	function apply( $data )	{		if( !$this->_clientSupportsGzip() )			return $data;			$size = strlen( $data );		$crc  = crc32( $data );        $data = gzcompress( $data, 9 );        $data = substr( $data, 0, strlen( $data ) - 4 );		$data .= $this->_gfc( $crc );		$data .= $this->_gfc( $size );			header( 'Content-Encoding: gzip' );		$data = "\x1f\x8b\x08\x00\x00\x00\x00\x00" . $data;		return $data;	}   /**	* check, whether client supports compressed data	*	* @access	private	* @return	boolean	*/	function _clientSupportsGzip()	{		if( false !== strpos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ) )			return  true;		return  false;	}   /**	* get value as hex-string	*	* @access       public	* @param        integer $value  value to convert	* @return       string  $string converted string	*/	function _gfc( $value )	{		$str = '';		for( $i = 0; $i < 4; $i ++)		{			$str	.=	chr( $value % 256 );			$value	=	floor( $value / 256 );		}		return  $str;	}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -