* created: 2006-05-24 09:37:53 * last modify: (GTM+8)2006-05-25 10:58:51 */ if (!defined('NIE')) exit; function abort($code = -1) { $messages = array( 0 => '未知错误', 1 => '没有指定文件', 2 => '没有找到指定的文件' ); if (isset($messages[$code])) echo $messages[$code]; exit; } function filename_to_key($filename) { $key = unpack('h*', $filename); reset ($key); $key = current($key); return $key; } function key_to_filename($key) { return trim(pack('h*', $key)); } function counter_increase($key, $counter) { $counter[$key] = isset($counter[$key]) ? ($counter[$key] + 1) : 1 ; return $counter; } function counter_fetch($filename) { $lines = file($filename); $counter = array(); if ($lines === false) return $counter; while (list($idx, $line) = each($lines)) { $line = trim($line); if (preg_match('/\|\d{1,}$/', $line)) { $_tmp = explode('|', $line); $key = filename_to_key($_tmp[0]); $value = & $_tmp[1]; $counter[$key] = $value; unset($_tmp); } } return $counter; } function counter_store($counter) { if (!is_array($counter)) return false; $output = counter_to_string($counter); if ($fp = fopen(DB_FILE, 'wb')) { if (flock($fp, LOCK_EX)) { fwrite($fp, $output); flock ($fp, LOCK_UN); } fclose($fp); return true; } else return false; } function counter_to_string($counter) { while (list($key, $val) = each($counter)) { $counter[$key] = key_to_filename($key) . '|' . $val; } $counter = join("\r\n", $counter); return $counter; } function goto ($url) { if(!headers_sent()){ header ('Location: '.$url); }else{ echo ""; } exit; } function httpvar_process($object = null) { $object = strtoupper($object); $param = array(); $variable = array(); for ($i = 0, $_size = strlen($object); $i < $_size; $i ++) { switch ($object{$i}) { case 'C': $param[] = & $_COOKIE; break; case 'G': $param[] = & $_GET; break; case 'P': $param[] = & $_POST; break; } } switch (count($param)) { case 1: $variable = $param[0]; break; case 2: if (!is_array($param[0])) $param[0] = array(); if (!is_array($param[1])) $param[1] = array(); $variable = array_merge($param[0], $param[1]); break; case 3: if (!is_array($param[0])) $param[0] = array(); if (!is_array($param[1])) $param[1] = array(); if (!is_array($param[2])) $param[2] = array(); $variable = array_merge($param[0], $param[1], $param[2]); break; } return httpvar_filter($variable); } function httpvar_filter($object = null) { $filtered = & $object; if (empty($object)) return; if (!get_magic_quotes_gpc()) { foreach ($object as $key => $val) { if (is_array($val)) $filtered[$key] = httpvar_filter($val); else $filtered[$key] = addslashes($val); } } return $filtered; } ?>