ThinkPHP中似乎没有对をgzip的配置选项。不过实现起来还是挺简单的。 以下是对ThinkPHP 2.1的修改方法。
首先要确定空间是否支持Zlibは、然后找ThinkPHP的控制输出函数出力()。
控制输出的文件在ThinkPHP / LIB /考える/コア文件夹下、文件名View.class.php。
/ ** + ---------------------------------------------- ------------ *输出模板+ ---------------------------------- ------------------------ * @アクセス保護+ --------------------- ------------------------------------- * @ paramの文字列$コンテンツ模板内容する* @ param boolean型$表示是否直接显示+ --------------------------------------------- ------------- * @戻り混合+ -------------------------------- -------------------------- * /保護された関数の出力($コンテンツ、$ DISPLAY){場合(C( 'HTML_CACHE_ON'))HtmlCache: :writeHTMLCache($コンテンツ)するif($表示){if(!== falseを正しくマッチ($コンテンツ、 '{__RUNTIME__}')){$ランタイムは、= C( 'SHOW_RUN_TIME')? '<div id="think_run_time" class="think_run_time">'の$ this-> ShowTimeの() '</ DIV>':''; $コンテンツ= str_replaceを( '{__RUNTIME__}'は、ランタイム、$コンテンツ);}場合(は、extension_loaded( 'zlibを')){/ /检查服务器是否开启了zlibの拓展ため、ob_start( "それはob_gzhandler ');}ためのob_start("圧縮 ");関数の圧縮(バッファ){/ /去除文件中的注释$バッファ=するpreg_replace(、''、$バッファ '/ * [^ *] ** +([^ /] [^ *] ** +)* /!');を返す$バッファは;} $をエコーコンテンツ、IF(C( 'SHOW_PAGE_TRACE'))の$ this-> showTrace();場合(は、extension_loaded( 'zlibを')){するob_end_flush();/ /输出バッファ中的内容、即压缩后的CSS文件}はnullを返します;する} else {$コンテンツを返す;}}
