最新消息:文章中包含代码时,请遵守代码高亮规范!

php中pathinfo路径模式

PHP Surfin 4596浏览 0评论

一般我们在php中关于url的处理有以下2中方式,已我们熟知的MVC架构为例:

1.通常的路径模式是index.php?c=Controller&a=Action&name=value

2.pathinfo路径模式: index.php/Controller/Action/name/value


// 以下是如何解析pathinfo的url
$GETParam = (strlen($_SERVER['REQUEST_URI']) > strlen($_SERVER['SCRIPT_NAME'])) ? explode('/', trim(str_ireplace($_SERVER['SCRIPT_NAME'], '', $_SERVER['REQUEST_URI']), '/')) : '';
 $GETCount = count($GETParam);
if($GETCount > 1)
     for ($i=2; $i<$GETCount; ++$i) $_GET[$GETParam[$i]] = isset($GETParam[++$i]) ?  $GETParam[$i] : '';

$_SERVER['REQUEST_URI']
http://www.website.com/test/ — – — /
http://www.website.com/test/index.php — – — /test/index.php
http://www.website.com/test/index.php?a=test — – — /test/index.php?a=test
http://www.website.com/test/index.php/dir/test — – — /test/index.php/dir/test
$_SERVER['REQUEST_URI']返回的是我们在URL里写的精确的地址,如果URL只写到”/”,就返回 “/”

$_SERVER['SCRIPT_NAME']
http://www.website.com/test/ — – — /test/index.php
http://www.website.com/test/index.php — – — /test/index.php
http://www.website.com/test/index.php — – — /test/index.php
http://www.website.com/test/index.php/dir/test — – — /test/index.php
在所有的返回中都是当前的文件名/test/index.php	 

当然我们实际使用过程中可以使用url的rewrite功能,让url看起来更适合seo

转载时请注明出处及相应链接,本文永久地址:/1681.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者surfin的打赏,我们会更加努力!    如果您想成为作者,请点我

发表我的评论
取消评论

表情