PHP比较安全的获取站点根目录

2012-07-14  金城  4002

如果你对一大堆dirname(__FILE__)或嵌套的dirname弄的晕头转向,试试下边这个。

<?php
// 获取站点更目录,结尾不带 “\”
$root=isset($_SERVER['DOCUMENT_ROOT'])?$_SERVER['DOCUMENT_ROOT']:(isset($_SERVER['APPL_PHYSICAL_PATH'])?trim($_SERVER['APPL_PHYSICAL_PATH'],"\\"):(isset($_['PATH_TRANSLATED'])?str_replace($_SERVER["PHP_SELF"]):str_replace(str_replace("/","\\",isset($_SERVER["PHP_SELF"])?$_SERVER["PHP_SELF"]:(isset($_SERVER["URL"])?$_SERVER["URL"]:$_SERVER["SCRIPT_NAME"])),"",isset($_SERVER["PATH_TRANSLATED"])?$_SERVER["PATH_TRANSLATED"]:$_SERVER["SCRIPT_FILENAME"])));
echo $root;
?>

由于操作系统不同,WEB服务软件不同,php版本不同、安装方式不同等原因, Server变量名称或值可能不一样,只好多加判断了。