PHP获取当前相对于域名目录的方法

本文实例讲述了PHP获取当前相对于域名目录的方法。分享给大家供大家参考。具体如下:

http://127.0.0.1/dev/classd/index.php/download
比如这个地址,我想得到红色区域的地址用于生成站内的链接,名为 baseurl。

用 $_SERVER['SCRIPT_NAME'] 就可以了, $_SERVER['SCRIPT_NAME'] 是当前正在访问的PHP文件的相对路径,只要如下稍作处理:

从$_SERVER['SCRIPT_NAME']中获取目录部分,并且替换dirname函数可能出现的反斜杠问题

代码如下:

$baseUrl = str_replace('\\','/',dirname($_SERVER['SCRIPT_NAME']));

保证为空时能返回可以使用的正常值

代码如下:

$baseUrl = empty($baseUrl) ? '/' : '/'.trim($baseUrl,'/').'/';

这样就可以正常获取到 /dev/classd/ 这部分的目录地址了。

顺便看了一下 Zend Framework 的 baseUrl() 函数,结果一看那么一大堆代码就没再继续看了,我就想不通同样的功能他用了一大堆一大堆的代码,从$_SERVER里获取了一堆,然后中间经过两三个类,四五个方法才最终被我们直接调用,除了中间有三行是获取当前的PHP文件以外,其它都是没用和无谓的处理,ZF本身运行的已经够慢的了,这是什么一个意思呢。感兴趣的朋友可以研究一下。

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • PHP自定义函数获取URL中一级域名的方法

    本文实例讲述了PHP自定义函数获取URL中一级域名的方法.分享给大家供大家参考,具体如下: <?php /* * Created on 2016-8-23 */ function regular_domain($domain) { if (substr ( $domain, 0, 7 ) == 'http://') { $domain = substr ( $domain, 7 ); } if (strpos ( $domain, '/' ) !== false) { $domain = sub

  • PHP实现通过URL提取根域名

    PHP根据URL提取根域名,个人工作中用到,由于网络上很多代码都不能得到正确结果就自己写了一个,欢迎大家使用并提出其中的bug. <?php #使用示例 echo getBaseDomain('http://blog.jp.goo.ne.jp/index.php')->domain;echo "\n"; echo getBaseDomain('http://51.ca/index.php')->domain;echo "\n"; echo getB

  • php获取根域名方法汇总

    本文实例汇总了php获取根域名方法,分享给大家供大家参考.具体实现方法如下: 如果你只简单获取当前访问你页面的域名,我们只需要使用php中的函数HTTP_HOST就可以搞定了,如果是提取url根域名是需要正则的,下面就来看看几个具体实例. 如果是获取当前域名是非常的简单的: 复制代码 代码如下: <?php //获取当前的域名: echo $_SERVER['SERVER_NAME']; //获取来源网址,即点击来到本页的上页网址 echo $_SERVER["HTTP_REFERER&q

  • php生成短域名函数

    php生成短域名函数 public function createRandCode($string) { $code = ''; $hex_code = '1qaz2wsx3edc4rfv5t-gb6yhn7ujm8ik9ol0p_'; $now = microtime(true) * 10000; $strlen = strlen($hex_code); $hash_code = hash('sha256', $string); // 这里会为编码定义一个随机的长度,长度取决于step $st

  • PHP实现获取域名的方法小结

    本文实例总结了PHP实现获取域名的方法.分享给大家供大家参考.具体实现方法如下: 方法一(用 系统变量) 复制代码 代码如下: //缺点不使用传递过来的地址和不支持系统变量的主机 echo $_SERVER['HTTP_HOST']; 方法二(用自带函数) 复制代码 代码如下: $url = 'http://www.jb51.net/index.php?referer=jb51.net'; $arr_url = parse_url($url); echo $arr_url['host']; 方法

  • PHP获取网址的顶级域名函数代码

    PHP获取网址的顶级域名函数 目前国际顶级域名有:com|edu|gov|int|mil|net|org|biz|info|pro|name|museum|coop|aero|xxx|idv|mobi|cc|me 地域型域名比较多,应该是每个国家地区都会有吧,有心可以去收集,不过据我了解这个域名都是2个字母构成的,它可以单独使用也可以喝国际顶级域名结合使用地域型域名如: cn 中国 tw 台湾 hk 香港 域名例子: jb51.cn baidu.com jb51.com.cn 以jb51.dom

  • php中取得URL的根域名的代码

    复制代码 代码如下: <?php /** * 取得根域名 * * @author lonely * @create 2011-3-11 * @version 0.1 * @lastupdate lonely * @package Sl */ class Sl_RootDomain{ private static $self; private $domain=null; private $host=null; private $state_domain; private $top_domain;

  • 利用PHP实现短域名互转

    复制代码 代码如下: /**  * 短域名生成&解析类  */ class Build_URL { private $mem;     private $base_url = 'http://xxx.com/'; public function  __construct() {         $mem_conf    = array(                 array(                         'host'    => '192.168.10.90',  

  • php采用curl访问域名返回405 method not allowed提示的解决方法

    /** * http测试 * 注:PHP版本5.2以上才支持CURL_IPRESOLVE_V4 * @param $url 网站域名 * @param $type 网站访问协议 * @param $ipresolve 解析方式 */ public function web_http($url,$type,$ipresolve) { //设置Header头 $header[] = "Accept: application/json"; $header[] = "Accept-E

  • 解析PHP获取当前网址及域名的实现代码

    复制代码 代码如下: <?//获取当前的域名:echo $_SERVER['SERVER_NAME'];//获取来源网址,即点击来到本页的上页网址echo $_SERVER["HTTP_REFERER"];$_SERVER['REQUEST_URI'];//获取当前域名的后缀$_SERVER['HTTP_HOST'];//获取当前域名dirname(__FILE__);//获取当前文件的物理路径dirname(__FILE__)."/../";//获取当前文件

随机推荐