假如你项目首页的URL是:www.test.com/other/Form
假如当前模块是:Index
假如当前操作是:index
那么首页完整的URL:http://www.test.com/other/Form/index.php/Index/index
__SELF__:/other/thinkphp/mydemo/Form/index.php
__ACTION__: /other/thinkphp/mydemo/Form/index.php/Index/index
__URL__: /other/thinkphp/mydemo/Form/index.php/Index
__APP__: /other/thinkphp/mydemo/Form/index.php
__PUBLIC__:/other/thinkphp/mydemo/Public
../public(不区分大小写):/other /thinkphp/mydemo/Form/Tpl/default/Public
APP_PUBLIC_URL:/other/thinkphp/mydemo/Form/Tpl/default/Public
WEB_PUBLIC_URL:/other/thinkphp/mydemo/Public
模板中对路径部分的操作是这样子的,PHP代码:
- //项目公共目录
- $tmplContent = str_ireplace('../public',APP_PUBLIC_URL,$tmplContent);
- //网站公共目录
- $tmplContent = str_replace('__PUBLIC__',WEB_PUBLIC_URL,$tmplContent);
- //网站根目录
- $tmplContent = str_replace('__ROOT__',__ROOT__,$tmplContent);
- //当前项目地址
- $tmplContent = str_replace('__APP__',__APP__,$tmplContent);
- //当前模块地址
- $tmplContent = str_replace('__URL__',__URL__,$tmplContent);
- //当前项目操作地址
- $tmplContent = str_replace('__ACTION__',__ACTION__,$tmplContent);
- //当前页面操作地址
- $tmplContent = str_replace('__SELF__',__SELF__,$tmplContent);
测试网址:http://localhost/blog/testurl.php?id=5
- //获取域名或主机地址
- echo $_SERVER['HTTP_HOST']."
- "; #localhost
- //获取网页地址
- echo $_SERVER['PHP_SELF']."
- "; #/blog/testurl.php
- //获取网址参数
- echo $_SERVER["QUERY_STRING"]."
- "; #id=5
- //获取用户代理
- echo $_SERVER['HTTP_REFERER']."
- ";
- //获取完整的url
- echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
- echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
- #http://localhost/blog/testurl.php?id=5
- //包含端口号的完整url
- echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
- #http://localhost:80/blog/testurl.php?id=5
- //只取路径
- $url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
- echo dirname($url);
- #http://localhost/blog