我正在为PHP使用Apache服务器。如何在PHP中检索我的Web根目录,例如http://localhost/testthesis/
?
答案 0 :(得分:15)
对于您的网络服务器根目录,请使用:
$folder = '/';
对于检索到的脚本的目录,请使用:
$folder = './';
对于您的网络服务器根目录,请使用:
$protocol = $_SERVER['HTTPS'] == '' ? 'http://' : 'https://';
$folder = $protocol . $_SERVER['HTTP_HOST'];
对于检索到的脚本的目录,请使用:
$protocol = $_SERVER['HTTPS'] == '' ? 'http://' : 'https://';
$folder = $protocol . $_SERVER['HTTP_HOST'] . '/' . basename($_SERVER['REQUEST_URI']);
答案 1 :(得分:8)
这是一种方法:
$web_root = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/";
OUTPUT -->http://website.com/parent_folder/
答案 2 :(得分:5)
Web根始终只是/
。您永远不需要主机名或协议部分,root只能是服务器的根,而不是某个文件夹或文件。
如果您需要一些路径,例如/testthesis/
- 有一些方法,但它与网络 root 没有任何共同之处。
如果您需要webroot的文件系统目录 - 它位于$_SERVER['DOCUMENT_ROOT']
变量中。
答案 3 :(得分:1)
您所寻找的不是网络服务,而是网址。
您可以像下面这样获取当前网址:
$protocol = strpos($_SERVER['SERVER_SIGNATURE'], '443') !== false ? 'https://' : 'http://';
$url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];