private function _init_env() { error_reporting(E_ERROR); define('MAGIC_QUOTES_GPC', function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()); // ' " \ NULL 等字符转义 当magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1 define('GZIP', function_exists('ob_gzhandler')); // ob 缓存压缩输出 if (function_exists('date_default_timezone_set')) { @date_default_timezone_set('Etc/GMT-8'); //东八区 北京时间 } define('TIMESTAMP', time()); if (!defined('BLOG_FUNCTION') && !@(include BLOG_ROOT . '/source/functions.php')) { exit('functions.php is missing'); } define('IS_ROBOT', checkrobot()); global $_B; $_B = array('uid' => 0, 'username' => '', 'groupid' => 0, 'timestamp' => TIMESTAMP, 'clientip' => $this->_get_client_ip(), 'mobile' => '', 'agent' => '', 'admin' => 0); checkmobile(); $_B['PHP_SELF'] = bhtmlspecialchars($this->_get_script_url()); $_B['basefilename'] = basename($_B['PHP_SELF']); $sitepath = substr($_B['PHP_SELF'], 0, strrpos($_B['PHP_SELF'], '/')); $_B['siteurl'] = bhtmlspecialchars('http://' . $_SERVER['HTTP_HOST'] . $sitepath . '/'); getReferer(); $url = parse_url($_B['siteurl']); $_B['siteroot'] = isset($url['path']) ? $url['path'] : ''; $_B['siteport'] = empty($_SERVER['SERVER_PORT']) || $_SERVER['SERVER_PORT'] == '80' ? '' : ':' . $_SERVER['SERVER_PORT']; $this->b =& $_B; }
function bhtmlspecialchars($string) { if (is_array($string)) { foreach ($string as $key => $val) { $string[$key] = bhtmlspecialchars($val); } } else { $string = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string); if (strpos($string, '&#') !== false) { $string = preg_replace('/&((#(\\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1', $string); //类似韩的unicode } } return $string; }