www.gusucode.com > DEDECMS精简版 织梦CMS系统企业精简版 v3.0.1.2源码程序 > cloudcms_v3.0.1.2/include/request.class.php
<?php define('DEDEREQUEST', TRUE); function Request($key, $df='') { $GLOBALS['request'] = isset($GLOBALS['request'])? $GLOBALS['request'] : new Request; if (!$GLOBALS['request']->isinit) { $GLOBALS['request']->Init(); } return $GLOBALS['request']->Item($key, $df); } class Request { var $isinit = false; var $cookies = array(); var $forms = array(); var $gets = array(); var $posts = array(); var $request_type = 'GET'; var $files = array(); var $filter_filename = '/\.(php|pl|sh|js)$/i'; function Init() { global $_POST,$_GET; $formarr = array('p' => $_POST, 'g' => $_GET); foreach($formarr as $_k => $_r) { if( count($_r) > 0 ) { foreach($_r as $k=>$v) { if( preg_match('/^cfg_(.*?)/i', $k) ) { continue; } $this->forms[$k] = $v; if( $_k=='p' ) { $this->posts[$k] = $v; } else { $this->gets[$k] = $v; } } } } unset($_POST); unset($_GET); unset($_REQUEST); if( count($_COOKIE) > 0 ) { foreach($_COOKIE as $k=>$v) { if( preg_match('/^config/i', $k) ) { continue; } $this->cookies[$k] = $v; } } if( isset($_FILES) && count($_FILES) > 0 ) { $this->FilterFiles($_FILES); } $this->isinit = TRUE; } function MyEval( $phpcode ) { return eval( $phpcode ); } function Item( $formname, $defaultvalue = '' ) { return isset($this->forms[$formname]) ? $this->forms[$formname] : $defaultvalue; } function Upfile( $formname, $defaultvalue = '' ) { return isset($this->files[$formname]['tmp_name']) ? $this->files[$formname]['tmp_name'] : $defaultvalue; } function FilterFiles( &$files ) { foreach($files as $k=>$v) { $this->files[$k] = $v; } unset($_FILES); } function MoveUploadFile( $formname, $filename, $filetype = '' ) { if( $this->IsUploadFile( $formname ) ) { if( preg_match($this->filter_filename, $filename) ) { return FALSE; } else { return move_uploaded_file($this->files[$formname]['tmp_name'], $filename); } } } function GetShortname( $formname ) { $filetype = strtolower(isset($this->files[$formname]['type']) ? $this->files[$formname]['type'] : ''); $shortname = ''; switch($filetype) { case 'image/jpeg': $shortname = 'jpg'; break; case 'image/pjpeg': $shortname = 'jpg'; break; case 'image/gif': $shortname = 'gif'; break; case 'image/png': $shortname = 'png'; break; case 'image/xpng': $shortname = 'png'; break; case 'image/wbmp': $shortname = 'bmp'; break; default: $filename = isset($this->files[$formname]['name']) ? $this->files[$formname]['name'] : ''; if( preg_match("/\./", $filename) ) { $fs = explode('.', $filename); $shortname = strtolower($fs[ count($fs)-1 ]); } break; } return $shortname; } function GetFileInfo( $formname, $item = '' ) { if( !isset( $this->files[$formname]['tmp_name'] ) ) { return FALSE; } else { if($item=='') { return $this->files[$formname]; } else { return (isset($this->files[$formname][$item]) ? $this->files[$formname][$item] : ''); } } } function IsUploadFile( $formname ) { if( !isset( $this->files[$formname]['tmp_name'] ) ) { return FALSE; } else { return is_uploaded_file( $this->files[$formname]['tmp_name'] ); } } function CheckSubfix($formname, $subfix = 'csv') { if( $this->GetShortname( $formname ) != $subfix) { return FALSE; } return TRUE; } }