在HTML中,您可以将href设置为“/ folder / page”,并将开始/将转到Web应用程序的根目录(意味着它将从www.yoursite.com开始)并从那里继续。
现在,在PHP中,我可以这样做吗?我有一个问题,因为我有一个文件,总是需要从根开始,然后去一个文件夹。我不能使用相对路径,因为它将包含在其他页面中,因此,我不知道在我在根目录之前要上多少层。
我尝试使用“$ _SESSION ['DOCUMENT_ROOT']”但这给了我一个远离目录树的地址。例如(在测试网站上)我有这个URL: http://localhost:8888/kasseNet-BitBucet/
我希望这是我的根。目前它类似于“Applications / Mamp / htdocs”。
我怎样才能做到这一点?显然我可以使用绝对路径,但是然后我就不容易启动它,因为我必须将它改为不在localhost环境中。
我一直在谷歌上搜索我的屁股,但我似乎无法找到合适的人选。这应该是一项容易完成的任务。
为了完整起见,这是我的结构:
(假设我们在“root”中 - localhost htdocs / site文件夹) - 登录 * Authenticate.php *的login.php - 其他 * test.php的 - default.php
现在,“default.php”和“test.php”都将包含 authenticate.php。 authenticate.php将重定向到login.php。现在,问题是,如果我将它包含在default.php中,我在Authenticate.php文件中对login.php的路径将是“Login / Authenticate.php”。但是,如果我将它包含在test.php中,我将不得不做“../Login/Authenticate.php”。这说明了问题,随着结构的增长,它只会变得更糟。
你可以想象,它是一个登录脚本,我在其中包含验证文件,如果用户没有登录,它将重定向到登录页面。我发现的所有例子,只是使用平面结构没有额外的目录,所以他们没有这个问题。
希望得到一些帮助,一直坚持思考解决方案xD
提前谢谢你。 最好的祝福 / JBJ
答案 0 :(得分:0)
使用它来获取根URL并在其后添加任何内容。
$root = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/';
如果您的路径类似于http://localhost:8888/kasseNet-BitBucet/path1/path2/index.php
,则必须定义 kasseNet-BitBucet
作为根目录。 PHP不能自由,kasseNet-BitBucet
是您的根目录,path1
例如不是。
所以:
$my_root_dir = 'kasseNet-BitBucet';
$root = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/' . $my_root_dir;