我需要在我的php中设置路径但我目前不知道路径。
我需要配置上传目录的路径
如下所示:
/srv/www/uploads/
我的uploads.php文件位于根...所以
www/uploads/ ???
无论如何我可以通过php告诉我当前的路径吗?
答案 0 :(得分:54)
如果你致电getcwd,它应该给你路径:
<?php
echo getcwd();
?>
答案 1 :(得分:11)
getcwd()
(documentation)$_SERVER['DOCUMENT_ROOT']
$_SERVER['SCRIPT_FILENAME']
答案 2 :(得分:7)
echo $_SERVER["DOCUMENT_ROOT"];
'DOCUMENT_ROOT' 正在执行当前脚本的文档根目录,如服务器配置文件中所定义。
答案 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")