zoukankan      html  css  js  c++  java
  • PHP获取站点根目录

    最简单方式:$_SERVER['DOCUMENT_ROOT'],暴力通俗易懂,网站根目录,GG.

    将下面的代码放在网站根目录下的一个文件中,以便在其它文件中引用。

    路径方式:

    define('BASE_PATH',str_replace('\','/',realpath(dirname(__FILE__).'/'))."/");

    echo BASE_PATH;

    输出结果:E:/wwwroot/

    url方式:

    $PHP_SELF=$_SERVER['PHP_SELF'];

    $url='http://'.$_SERVER['HTTP_HOST'].substr($PHP_SELF,0,strrpos($PHP_SELF,'/')+1);

    echo $url;

    输出结果:http://localhost/
     
    其它的资料整理:
     

    PHP取得站点根目录

    echo $_SERVER['HTTP_HOST'];//当前请求的 Host: 头部的内容 即域名信信息

    echo $_SERVER['PHP_SELF'];//当前正在执行脚本的文件相对网站根目录地址,就算该文件被其他文件引用也可以正确得到地址

    echo $_SERVER['SCRIPT_NAME'];//当前正在执行脚本的文件相对网站根目录地址,但当该文件被其他文件引用时,只显示引用文件的相对地址,不显示该被引用脚本的相对地址。

    echo $_SERVER['DOCUMENT_ROOT'];//网站相对服务器地址即网站的绝对路径名 #当前运行脚本所在的文档根目录。在服务器配置文件中定义

    echo $_SERVER['SCRIPT_FILENAME'];//当前执行脚本的绝对路径名。

    方法一:

    今天讲了大致的站点目录结构,其中说到了怎样取得站点根目录,好多同学不是很理解,下面一步一步道来:

    我的站点目录据对路径:D:wwwmessage2011,测试文件路径:D:wwwmessage2011includeconfig.inc.php

    在根目录下新建一个文件,也可以隔一层目录创建,就以上面为例,我要在config.inc.php中取得站点的根目录。

    1、取得当前文件的路径:用魔术常量__FILE__。这里的路径包含了文件名,结果如下:

    D:wwwmessage2011includeconfig.inc.php

    2、去掉上面路径的文件名,得到纯路径:dirname(__FILE__),结果如下:

    D:wwwmessage2011include

    3、返回一层目录到根目录:realpath(dirname(__FILE__).'/../'),结果如下:

    D:wwwmessage2011

    4、把向左的”“转化成向右的”/“:str_replace( '\' , '/' , realpath(dirname(__FILE__).'/../')),结果如下:

    D:/www/message2011

    到这就是我们想要的站点根目录了,可以根据需求设定第三步返回目录层数,比如:返回2层就是 /../../,那么就会得到 D:www,以此类推。

    方法二:

    在global.inc   里定义根目录

    define("APP_ROOT",dirname(__FILE__));

    在任何PHP文件中可以引用该常量

    require_once(APP_ROOT."/inc/head.php");

    方法三:

    <?php

    $PHP_SELF=$_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];

    $url='http://'.$_SERVER['HTTP_HOST'].substr($PHP_SELF,0,strrpos($PHP_SELF, '/')+1);

    echo $url;

    方法四:

    $basepath=$_SERVER['PHP_SELF'];

    $basepath=substr($basepath,0,strpos($basepath,"文件夹名称"));

    echo $basepath;

    如:你把文件保存为a.php并路径为:/wjj/wjj1/wjj2/a.php

    上面的例子就写成:

    $basepath=$_SERVER['PHP_SELF'];

    $basepath=substr($basepath,0,strpos($basepath,"wjj1"));

    echo $basepath;

    方法五:

    $basepath=$_SERVER['PHP_SELF'];

    preg_match("/(/)?([^/]+)/",$basepath,$wjm);

    echo $wjm[0];

  • 相关阅读:
    URL请求工具
    .net动态类型在处理json数据方面的应用
    Eclipse中部署hadoop2.3.0
    Java自学之道全文下载地址
    如何生成二维码过程详解
    网页加上进度条的代码 程序员
    将checkbox设置成单选 程序员
    显示网页加载进度条 程序员
    putty 程序员
    Introducing Play 2.0(介绍play 2.0) 程序员
  • 原文地址:https://www.cnblogs.com/boundless-sky/p/6616401.html
Copyright © 2011-2022 走看看