147 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			147 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
/*文件扩展名说明 
 | 
						|
*7173 gif *255216 jpg *13780 png *6677 bmp *239187 txt,aspx,asp,sql *208207 xls.doc.ppt *6063 xml *6033 htm,html *4742 js 
 | 
						|
*8075 xlsx,zip,pptx,mmap,zip *8297 rar *01 accdb,mdb *7790 exe,dll *5666 psd *255254 rdp *10056 bt种子 *64101 bat 
 | 
						|
*/ 
 | 
						|
function getFileTypeByRaw( $data ){
 | 
						|
	$bin = $data[0].$data[1];
 | 
						|
	return getFileTypeBybin( $bin );
 | 
						|
}
 | 
						|
function getFileType( $file ){
 | 
						|
	$fp = fopen($file, "rb");
 | 
						|
	$bin = fread($fp, 2); //只读2字节
 | 
						|
	fclose($fp);
 | 
						|
	return getFileTypeBybin( $bin );
 | 
						|
}
 | 
						|
function getFileTypeBybin( $bin ){
 | 
						|
	$str_info = @unpack("C2chars", $bin);
 | 
						|
	$type_code = intval($str_info['chars1'].$str_info['chars2']);
 | 
						|
	$file_type = '';
 | 
						|
	switch ($type_code) {
 | 
						|
		case 239187:
 | 
						|
			$file_type = 'txt';
 | 
						|
			break;
 | 
						|
		case 7784:
 | 
						|
			$file_type = 'midi';
 | 
						|
			break;
 | 
						|
		case 8075:
 | 
						|
			$file_type = 'zip';
 | 
						|
			break;
 | 
						|
		case 8297:
 | 
						|
			$file_type = 'rar';
 | 
						|
			break;
 | 
						|
		case 255216:
 | 
						|
			$file_type = 'jpg';
 | 
						|
			break;
 | 
						|
		case 7173:
 | 
						|
			$file_type = 'gif';
 | 
						|
			break;
 | 
						|
		case 6677:
 | 
						|
			$file_type = 'bmp';
 | 
						|
			break;
 | 
						|
		case 13780:
 | 
						|
			$file_type = 'png';
 | 
						|
			break;
 | 
						|
		default:
 | 
						|
			$file_type = 'unknown';
 | 
						|
			break;
 | 
						|
	}
 | 
						|
	return $file_type;
 | 
						|
}
 | 
						|
function isAjax(){
 | 
						|
	if( isset( $GLOBALS['__isAjax'] ) ){
 | 
						|
		return $GLOBALS['__isAjax'];
 | 
						|
	}
 | 
						|
	$headers = apache_request_headers();
 | 
						|
	$GLOBALS['__isAjax'] = (isset( $headers['X-Requested-With'] ) && ( $headers['X-Requested-With'] == 'XMLHttpRequest' )) || (isset( $headers['x-requested-with'] ) && ($headers['x-requested-with'] == 'XMLHttpRequest' ));
 | 
						|
	return $GLOBALS['__isAjax'];
 | 
						|
}
 | 
						|
function c( $name ){ 
 | 
						|
	if( !isset( $GLOBALS['__config'] ) ){
 | 
						|
			$__config = NULL;
 | 
						|
			include( ENGINE.'config/core.config.php' );
 | 
						|
			include( ROOT.'config/app.config.php' );
 | 
						|
			$GLOBALS['__config'] = $__config;
 | 
						|
	}
 | 
						|
	if( isset( $GLOBALS['__config'][$name] ) ){
 | 
						|
		return $GLOBALS['__config'][$name];
 | 
						|
	}
 | 
						|
	else{
 | 
						|
		return false;
 | 
						|
	}	
 | 
						|
}
 | 
						|
function db(){
 | 
						|
	if( !$GLOBALS['__db'] ){
 | 
						|
		$GLOBALS['__db'] = new Db();
 | 
						|
	}
 | 
						|
	return $GLOBALS['__db'];
 | 
						|
}
 | 
						|
function get_ip() {
 | 
						|
   if (isSet($_SERVER)) {
 | 
						|
       if (isSet($_SERVER["HTTP_X_FORWARDED_FOR"])) {
 | 
						|
           $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
 | 
						|
       } elseif (isSet($_SERVER["HTTP_CLIENT_IP"])) {
 | 
						|
               $realip = $_SERVER["HTTP_CLIENT_IP"];
 | 
						|
           } else {
 | 
						|
               $realip = $_SERVER["REMOTE_ADDR"];
 | 
						|
           }
 | 
						|
       } else {
 | 
						|
           if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
 | 
						|
               $realip = getenv( 'HTTP_X_FORWARDED_FOR' );
 | 
						|
           } elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
 | 
						|
               $realip = getenv( 'HTTP_CLIENT_IP' );
 | 
						|
           } else {
 | 
						|
               $realip = getenv( 'REMOTE_ADDR' );
 | 
						|
       }
 | 
						|
   }
 | 
						|
   return current( explode(',' , $realip ) ); 
 | 
						|
}
 | 
						|
function v( $str ){
 | 
						|
	return getDataFromArray( $str , $_REQUEST );
 | 
						|
}
 | 
						|
function p( $str ){
 | 
						|
	return getDataFromArray( $str , $_POST );
 | 
						|
}
 | 
						|
function getDataFromArray( $array , $data ){
 | 
						|
	if( is_array( $array ) ){
 | 
						|
		$return = array();
 | 
						|
		foreach( $array as $v ){
 | 
						|
			if( isset( $data[$v] ) && $data[$v] !== '' ){
 | 
						|
				$return[trim($v)] = $data[$v];
 | 
						|
			}
 | 
						|
		}
 | 
						|
		return $return;
 | 
						|
	}
 | 
						|
	return isset( $data[$array] )?$data[$array]:false;
 | 
						|
}
 | 
						|
function render( $data , $__showPage = NULL , $layout = NULL , $layoutTpl = true ){
 | 
						|
	 $__showPage = strtolower( $__showPage);
 | 
						|
	if( $layout == NULL ){
 | 
						|
		$layout = 'default';
 | 
						|
	}
 | 
						|
	if( isAjax() ){
 | 
						|
		$requiteFile =  ROOT.'themes/'.$layout.'/ajax/'.$__showPage.'.tpl.html';
 | 
						|
	}else{
 | 
						|
		$requiteFile =  ROOT.'themes/'.$layout.'/'.($layoutTpl?'layout':$__showPage).'.tpl.html';
 | 
						|
	}
 | 
						|
	if( !is_file( $requiteFile ) ){
 | 
						|
		die('can\'t load themes '.$__showPage.' files ');
 | 
						|
	}
 | 
						|
	@extract( $data );
 | 
						|
	require( $requiteFile );
 | 
						|
}
 | 
						|
if(!function_exists('apache_request_headers')) {     
 | 
						|
    function apache_request_headers(){ 
 | 
						|
        foreach($_SERVER as $key=>$value){
 | 
						|
            if (substr($key,0,5)=="HTTP_") {
 | 
						|
                $key=str_replace(" ","-",ucwords(strtolower(str_replace("_"," ",substr($key,5))))); 
 | 
						|
                $out[$key]=$value;
 | 
						|
            } 
 | 
						|
        }
 | 
						|
        return $out; 
 | 
						|
    }
 | 
						|
}
 | 
						|
function safeUrlString( $str ){
 | 
						|
	$str = urldecode($str);
 | 
						|
	return str_replace( array( '.' , '/' ) , array() , $str  );
 | 
						|
} |