<table cellspacing="0" cellpadding="0"><tr><td class="t_f" id="postmessage_35009"> <img alt="填写您的邮件地址,订阅我们的精彩内容:" src="http://img.it-home.org/data/attachment/forum/2014pic/16195715_kPci.png"> http://blog.qita.in/?post=494 <div class="blockcode"> <div id="code_Qzd"><ol> <li>/**</li> <li> * 获取输入统一入口</li> <li> */</li> <li>class cls_request</li> <li>{</li> <li> private $getdata; //存储get的数据</li> <li> private $postdata; //存储post的数据</li> <li> private $requestdata; //存储request的数据</li> <li> private $filedata; //存储file数据</li> <li> private $cookiedata; //存储cookie</li> <li> static $_instance; //本类的实例</li> <li> <li> private function __construct()</li> <li> {</li> <li> $this->getdata = self::format_data($_GET);</li> <li> $this->postdata = self::format_data($_POST);</li> <li> $this->requestdata = array_merge($this->getdata, $this->postdata);</li> <li> $this->cookiedata = self::format_data($_COOKIE);</li> <li> $this->filedata = self::format_data($_FILES);</li> <li> }</li> <li> /**</li> <li> * 类的初始化方法</li> <li> *</li> <li> * @return cls_request 对象</li> <li> */</li> <li> public static function get_instance()</li> <li> {</li> <li> if(!(self::$_instance instanceof self))</li> <li> {</li> <li> self::$_instance = new self();</li> <li> }</li> <li> return self::$_instance;</li> <li> }</li> <li> <li> /**</li> <li> * 获取GET传递过来的数值变量</li> <li> *</li> <li> * @param string $key</li> <li> * @return int or big int</li> <li> */</li> <li> public function get_num($key)</li> <li> {</li> <li> if(!isset($this->getdata[$key]))</li> <li> {</li> <li> return false;</li> <li> }</li> <li> return $this->to_num($this->getdata[$key]);</li> <li> }</li> <li> <li> /**</li> <li> * 获取POST传递过来的数值变量</li> <li> *</li> <li> * @param string $key</li> <li> * @return int or big int</li> <li> */</li> <li> public function post_num($key)</li> <li> {</li> <li> if(!isset($this->postdata[$key]))</li> <li> {</li> <li> return false;</li> <li> }</li> <li> return $this->to_num($this->postdata[$key]);</li> <li> }</li> <li> <li> /**</li> <li> * 获取REQUEST传递过来的数值变量</li> <li> *</li> <li> * @param string $key</li> <li> * @return int or big int</li> <li> */</li> <li> public function request_num($key)</li> <li> {</li> <li> if(!isset($this->requestdata[$key]))</li> <li> {</li> <li> return false;</li> <li> }</li> <li> return $this->to_num($this->requestdata[$key]);</li> <li> }</li> <li> <li> /**</li> <li> * 获取Cookie传递过来的数值变量</li> <li> *</li> <li> * @param string $key</li> <li> * @return int or big int</li> <li> */</li> <li> public function cookie_num($key)</li> <li> {</li> <li> if(!isset($this->cookiedata[$key]))</li> <li> {</li> <li> return false;</li> <li> }</li> <li> return $this->to_num($this->cookiedata[$key]);</li> <li> }</li> <li> <li> /**</li> <li> * 获取Files传递过来的变量值</li> <li> *</li> <li> * @param string $key</li> <li> * @return array</li> <li> */</li> <li> public function file_data($key)</li> <li> {</li> <li> return $this->filedata[$key];</li> <li> }</li> <li> <li> /**</li> <li> * 获取GET传递过来的字符串变量</li> <li> *</li> <li> * @param string $key</li> <li> * @param boolen $isfilter 是否过滤</li> <li> * @return string</li> <li> */</li> <li> public function get_string($key,$isfilter=true)</li> <li> {</li> <li> if(!isset($this->getdata[$key]))</li> <li> {</li> <li> return false;</li> <li> }</li> <li> if($isfilter)</li> <li> {</li> <li> return $this->filter_string($this->getdata[$key]);</li> <li> }</li> <li> else</li> <li> {</li> <li> return $this->getdata[$key];</li> <li> }</li> <li> }</li> <li> <li> /**</li> <li> * 获取POST传递过来的字符串变量</li> <li> *</li> <li> * @param string $key</li> <li> * @param boolen $isfilter 是否过滤</li> <li> * @return string</li> <li> */</li> <li> public function post_string($key,$isfilter=true)</li> <li> {</li> <li> if(!isset($this->postdata[$key]))</li> <li> {</li> <li> return false;</li> <li> }</li> <li> if($isfilter)</li> <li> {</li> <li> return $this->filter_string($this->postdata[$key]);</li> <li> }</li> <li> else</li> <li> {</li> <li> return $this->postdata[$key];</li> <li> }</li> <li> }</li> <li> <li> /**</li> <li> * 获取REQUEST传递过来的字符串变量</li> <li> *</li> <li> * @param string $key</li> <li> * @param boolen $isfilter 是否过滤</li> <li> * @return string</li> <li> */</li> <li> public function request_string($key,$isfilter=true)</li> <li> {</li> <li> if(!isset($this->requestdata[$key]))</li> <li> {</li> <li> return false;</li> <li> }</li> <li> if($isfilter)</li> <li> {</li> <li> return $this->filter_string($this->requestdata[$key]);</li> <li> }</li> <li> else</li> <li> {</li> <li> return $this->requestdata[$key];</li> <li> }</li> <li> }</li> <li> <li> /**</li> <li> * 获取COOKIE传递过来的字符串变量</li> <li> *</li> <li> * @param string $key</li> <li> * @param boolen $isfilter 是否过滤</li> <li> * @return string</li> <li> */</li> <li> public function cookie_string($key,$isfilter=true)</li> <li> {</li> <li> if(!isset($this->cookiedata[$key]))</li> <li> {</li> <li> return false;</li> <li> }</li> <li> if($isfilter)</li> <li> {</li> <li> return $this->filter_string($this->cookiedata[$key]);</li> <li> }</li> <li> else</li> <li> {</li> <li> return $this->cookiedata[$key];</li> <li> }</li> <li> }</li> <li> <li> /**</li> <li> * 格式化数据,将数据转存</li> <li> *</li> <li> * @param array $data</li> <li> */</li> <li> private function format_data($data)</li> <li> {</li> <li> $result = array();</li> <li> if(!is_array($data))</li> <li> {</li> <li> $data = array();</li> <li> }</li> <li> while(list($key, $value) = each($data))</li> <li> {</li> <li> //处理checkbox之类的数据</li> <li> if(is_array($value))</li> <li> {</li> <li> $result[$key]=$value;</li> <li> }</li> <li> else //普通数据</li> <li> {</li> <li> $result[$key] = trim($value);</li> <li> }</li> <li> }</li> <li> return $result;</li> <li> }</li> <li> /**</li> <li> * 转换为数字</li> <li> *</li> <li> * @param string $num</li> <li> * @return int or big int or false</li> <li> */</li> <li> private function to_num($num)</li> <li> {</li> <li> if(is_numeric($num))</li> <li> {</li> <li> return intval($num);</li> <li> }</li> <li> else</li> <li> {</li> <li> return false;</li> <li> }</li> <li> }</li> <li> /**</li> <li> * 转换过滤字符串</li> <li> *</li> <li> * @param string/array $data</li> <li> * @return string</li> <li> */</li> <li> private function filter_string($data)</li> <li> {</li> <li> if($data===NULL)</li> <li> {</li> <li> return false;</li> <li> }</li> <li> if (is_array($data))</li> <li> {</li> <li> foreach ($data as $k=>$v)</li> <li> {</li> <li> $data[$k] = htmlspecialchars($v, ENT_QUOTES);</li> <li> }</li> <li> return $data;</li> <li> }</li> <li> else</li> <li> {</li> <li> return htmlspecialchars($data, ENT_QUOTES);</li> <li> }</li> <li> }</li> <li>}</li> </ol></div> <em onclick="copycode($('code_Qzd'));">复制代码</em> </div> </td></tr></table> <div id="comment_35009" class="cm"> </div> <div id="post_rate_div_35009"></div> <br><br>