<?php
function getUrl()
{
$host = "http://";
$host .= $_SERVER['HTTP_HOST'];
$host .= $_SERVER['PHP_SELF'];
return $host;
}
echo getUrl();
?>

解决方案 »

  1.   

    楼上的,这样改完,出现
    Fatal error: Class 'DataAccess' not found in http://localhost/include//connect.inc on line 18
    这个错误哪?connect.inc :
    17:  require_once(INC_PATH."/dataAccess.php");
    18:  $dbconnect=&new DataAccess ();我原来用define("ROOT", str_replace("\\","/",dirname(__FILE__)) );
    取根路径,可ROOT取得的是带盘符的,程序传到服务器上后,就看不到图片了。
    怎么解决?
      

  2.   

    $root = $_SERVER['DOCUMENT_ROOT'];
      

  3.   

    <?php
    ECHO $_SERVER[HTTP_HOST];
    ?>
      

  4.   

    谢谢各位,大家方法都不行,带盘符的图片找不到,绝对路径也会出问题。
    我改成相对路径可以了。不明白为什么都用$_SERVER['DOCUMENT_ROOT'];  或dirname(__FILE__)) 这样的形式,带盘符发布到服务器上没有问题么?一会结了贴先。
      

  5.   

    define("ROOT", str_replace("\\","/",dirname(__FILE__)) );
    不会有任何问题!
    __FILE__ 在win32下是有盘符的,到linux下就没有了
      

  6.   

    在一些虚拟主机上$_SERVER['DOCUMENT_ROOT']得不到正确的值
    否则就没有必要绕来绕去了
      

  7.   

    xuzuning(唠叨) 
    我就是用在win2003下的,所以出问题了。
    用相对路径没别的问题吧?
    比如:
    ROOT  ""
          "include/"
          "images/"
      

  8.   

    你不会在配置文件里定义这些吗,
    config.phpdefine( "ROOT", "/" );其它文件..
    require_once( "config.php" );