PHP显示当前服务器路径

时间:2012-09-03 16:00:48

标签: php

我需要在我的php中设置路径但我目前不知道路径。

我需要配置上传目录的路径

如下所示:

/srv/www/uploads/

我的uploads.php文件位于根...所以

www/uploads/ ???

无论如何我可以通过php告诉我当前的路径吗?

6 个答案:

答案 0 :(得分:54)

如果你致电getcwd,它应该给你路径:

<?php
  echo getcwd();
?>

答案 1 :(得分:11)

  • 获取当前的工作目录:getcwd()documentation
  • 获取文档根目录:$_SERVER['DOCUMENT_ROOT']
  • 获取当前脚本的文件名:$_SERVER['SCRIPT_FILENAME']

答案 2 :(得分:7)

echo $_SERVER["DOCUMENT_ROOT"];

'DOCUMENT_ROOT' 正在执行当前脚本的文档根目录,如服务器配置文件中所定义。

http://php.net/manual/en/reserved.variables.server.php

答案 3 :(得分:1)

php可以调用命令行操作

echo exec("pwd");

答案 4 :(得分:0)

您还可以使用以下替代方法realpath

创建文件,名为 path.php

通过指定创建文件的名称,在内部

将以下代码放入内部。

<?php 
    echo realpath('path.php'); 
?>

一个php文件,您可以将其移动到所有文件夹,以始终具有执行文件所在位置的绝对路径。

;-)

答案 5 :(得分:-1)

这是一个在您的服务器上运行的测试脚本,以查看什么是可靠的。

<?php
$host = gethostname();
$ip = gethostbyname($host);
echo "gethostname and gethostbyname: $host at $ip<br>";
$server = $_SERVER['SERVER_ADDR'];
echo "_SERVER[SERVER_ADDR]: $server<br>";
$my_current_ip=exec("ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'");
echo "exec ifconfig ... : $my_current_ip<br>";
$external_ip = file_get_contents("http://ipecho.net/plain");
echo "get contents ipecho.net: $external_ip<br>";
?>

唯一的不同选择是使用fiel_get_contents而不是curl进行外部网站查找。

这是在共享的免费托管帐户上访问网页的结果。 (实际服务器名称和IP已更改)

gethostname and gethostbyname: freesites.servercluster.com at 345.27.413.51
_SERVER[SERVER_ADDR]: 127.0.0.7
exec ifconfig ... :
get contents ipecho.net: 345.27.413.51

为什么需要这个?决定将A记录指向服务器以查看它是否打开了网页。稍后运行脚本以保存IP并在同一服务器上的Ghost站点上更新以查找IP并在更改时发出警报。

在这种情况下,以下人员可获得良好的结果:

gethostname() & 
gethostbyname($host)
or 
file_get_contents("http://ipecho.net/plain")