ThinkPHP 3.2 开启 cache缓存的注意事项,过滤非法字符
开启缓存的配置文件 /Application/Common/conf/cache.php源码如下:
<?php return array( //‘配置项‘=>‘配置值‘ ‘LAYOUT_ON‘ => true, ‘HTML_CACHE_ON‘ => strpos($_SERVER[‘HTTP_HOST‘], ‘.‘) !== false, // 开启静态缓存 默认为 true 本地不开启 ‘HTML_CACHE_TIME‘ => 3600, // 全局静态缓存有效期(秒) ‘HTML_FILE_SUFFIX‘ => ‘.shtml‘, // 设置静态缓存文件后缀 ‘HTML_CACHE_RULES‘ => array( ‘*‘ => array(‘{:module}/{:controller}/{:action}/{$_SERVER.REQUEST_URI|md5}‘, 3600, ‘trimSW‘), ) );
注意:背后的 trimSW是去除所有非 / \w 的字符串,防止输入中文等特殊字符某些系统报错。
函数 trimSW的源码:
/** * @author [email protected] * @description 去除 空格 和非\w 字符串,用于cache 配置 * * @param $str * @param string $emptyValue * * @return mixed|string */ function trimSW($str, $emptyValue = ‘_empty_‘) { $str = preg_replace(‘/([^\w\/]+)/‘, ‘-‘, $str); if (empty($str)) { $str = $emptyValue; } return $str; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。