这个配置项目定义了你使用哪个服务器全局变量来拟定URL。
默认的设置是auto,会把下列四个方式轮询一遍。当你的链接不能工作的时候,试着用用auto外的选项。

'AUTO' Default-autodetects
'PATH_INFO' UsesthePATH_INFO
'QUERY_STRING' UsestheQUERY_STRING
'REQUEST_URI' UsestheREQUEST_URI
'ORIG_PATH_INFO' UsestheORIG_PATH_INFO

CI_URI中的几个成员变量

$keyval=array();//Listofcachedurisegments
$uri_string;//Currenturistring
$segments//Listofurisegments
$rsegments=array()//Re-indexedlistofurisegments

获取到的currenturistring赋值到$uri_string,通过function_set_uri_string($str)。

获取到$str有几个选项,也就是_fetch_uri_string()的业务流程部分了

一、默认

$config['uri_protocol']='AUTO'

时,程序会一次轮询下列方式来获取URI

(1)当程序在CLI下运行时,也就是在命令行下php文件时候。ci会这么获取URI

privatefunction_parse_cli_args()
{
$args=array_slice($_SERVER['argv'],1);
return$args?'/'.implode('/',$args):'';
}

$_SERVER['argv']包含了传递给脚本的参数当脚本运行在CLI时候,会给出c格式的命令行参数

截取到$_SERVER['argv']中除了第一个之外的所有参数

如果你在命令行中这么操作

phpd:\wamp\www\CodeIgniter\index.php\start\index

_parse_cli_args()返回一个/index.php/start/index的字符串

(2)默认使用REQUEST_URI来探测url时候会调用私有函数 _detect_uri()

(3)如果上面的两种方式都不能获取到uri那么会采用$_SERVER['PATH_INFO']来获取

$path=(isset($_SERVER['PATH_INFO']))?$_SERVER['PATH_INFO']:@getenv('PATH_INFO');
if(trim($path,'/')!=''&&$path!="/".SELF)
{
$this->_set_uri_string($path);
return;
}

(4)如果上面三种方式都不能获取到,那么就使用

$_SERVER['QUERY_STRING']或者getenv['QUERY_STRING']

$path=(isset($_SERVER['QUERY_STRING']))?$_SERVER['QUERY_STRING']:@getenv('QUERY_STRING');
if(trim($path,'/')!='')
{
$this->_set_uri_string($path);
return;
}

(5)上面四种方法都不能获取到URI,那么就要使用$_GET数组了,没招了

if(is_array($_GET)&&count($_GET)==1&&trim(key($_GET),'/')!='')
{
$this->_set_uri_string(key($_GET));
return;
}

二、在config.php中设定了:

$config['uri_protocol']

那么程序会自动执行相应的操作来获取uri

更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《ZendFrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

热门推荐

1 毛坯房验收经验和常识 看了之后再验房心里有底
2 二手房收房如何交接 二手房收房注意问题
3 专业验收毛坯房的价格 商品房验收合格的标准
4 精装房怎么验收 精装房请验房师有用吗
5 一般要到哪里找验房师 验房师有哪些作用呢
6 请人验房一般是多少钱 验房师费用是多少
7 怎样测量房子面积 建筑面积和使用面积怎么算
8 收房需要注意什么 仔细检查不松懈
9 收房时三书一证一表是什么 主要作用介绍
10 交房时交房税费有哪些 本文为你一一讲解
11 验房都需要验什么 要做哪些准备呢
12 毛坯房验房师有必要请吗 毛坯房装修完如何验收
13 地下室防水工程质量验收规范详解
14 水性涂料、油性涂料区别介绍
15 零基础布艺DIY工坊 教你做超萌猫头鹰钥匙包
16 三棵树漆怎么样?三棵树漆官方网站
17 家庭“装修套餐”中猫腻你知道吗?
18 小空间大浴望 卫浴间装修巧支招