예제 #1
0
파일: Request.php 프로젝트: hubs/yuncms
 /**
  * 返回包含由客户端提供的、跟在真实脚本名称之后并且在查询语句(query string)之前的路径信息
  *
  * <pre>Example:
  * 请求: http://www.tintsoft.com/example/index.php?a=test
  * 返回: a=test
  * </pre>
  *
  * @throws Base_Exception
  */
 private static function _init_path_info()
 {
     $request_uri = self::get_request_uri();
     $script_url = self::get_script_url();
     $base_url = self::get_base_url();
     if (strpos($request_uri, $script_url) === 0) {
         $path_info = substr($request_uri, strlen($script_url));
     } elseif ($base_url === '' || strpos($request_uri, $base_url) === 0) {
         $path_info = substr($request_uri, strlen($base_url));
     } elseif (strpos($_SERVER['PHP_SELF'], $script_url) === 0) {
         $path_info = substr($_SERVER['PHP_SELF'], strlen($script_url));
     } else {
         throw new Base_Exception('[Base.Base_Request._init_path_info] determine the entry path info failed!!');
     }
     // if (($pos = strpos ( $path_info, '?' )) !== false) $path_info =
     // substr ( $path_info, $pos + 1 );
     self::$_path_info = trim($path_info, '/');
 }