1.php
代码语言:javascript
复制<?php
if(array_key_exists('PATH_INFO', $_SERVER) && $_SERVER['PATH_INFO'] !== '/') {//存在这个系统变量的话
$pathinfo = array_values(array_filter(explode('/', $_SERVER['PATH_INFO'])));//才分
if(isset($pathinfo))
{
$controller =array_shift($pathinfo);//获取到控制器
$action =array_shift($pathinfo);//获取到方法
if(isset($pathinfo)) {
for ($i = 1; $i < count($pathinfo); $i = 2) {//遍历参数,获取参数
$params[] = $pathinfo[$i];
}
}
}
}
print_r($controller)." 控制器";
print_r($action)." 方法";
print_r($params)." ";
/*
$pathinfo = array_values(array_filter(explode('/', $_SERVER['PATH_INFO'])));
从 $_SERVER 数组中取出当前请求的 PATH_INFO 部分,使用 explode() 函数按照斜杠进行分割,并将分割后的结果存储在一个数组中。
使用 array_filter() 函数过滤掉分割后得到的数组中的空元素,以防止出现连续斜杠等情况。
使用 array_values() 函数重新索引过滤后的数组,使其从 0 开始连续编号。
将最终的结果数组赋值给 $pathinfo 变量,以便后续的处理和使用。
*/
效果