/** * 返回请求 URL 中的基础路径(不包含脚本名称) * * 几个示例: * * <ul> * <li>请求 http://www.example.com/index.php?controller=posts&action=create</li> * <li>返回 /</li> * </ul> * <ul> * <li>请求 http://www.example.com/news/index.php?controller=posts&action=create</li> * <li>返回 /news/</li> * </ul> * <ul> * <li>请求 http://www.example.com/index.php/posts/create</li> * <li>返回 /</li> * </ul> * <ul> * <li>请求 http://www.example.com/news/show/id/1</li> * <li>返回 /</li> * </ul> * * @return string 请求 URL 中的基础路径 */ function baseDir() { if (self::$_base_dir) { return self::$_base_dir; } $base_uri = $this->baseUri(); if (substr($base_uri, -1, 1) == '/') { $base_dir = $base_uri; } else { $base_dir = dirname($base_uri); } self::$_base_dir = rtrim($base_dir, '/\\') . '/'; return self::$_base_dir; }