PHP 相对链接未按预期工作

PHP relative link not working as expected

提问人:Matt 提问时间:10/24/2023 最后编辑:halferMatt 更新时间:10/26/2023 访问量:51

问:

我正在努力获得指向 .php 文件的相对链接。该文件包含我的初始化代码。它在顶级页面上运行良好,但我无法在带有子文件夹的页面上连接。我已经阅读并重读了很多教程,但无法让它工作。

<?php
  ob_start();
  try {
        require_once('./private/initialise.php');
        $years = YearsInBusiness();
?>

文件夹路径:

SiteFolder/private/initialise.php -- 要链接到的文件的位置。

SiteFolder/index.php---使用提供的路径完美连接。

SiteFolder/fabrication/laser-cutting.php---如何从激光切割.php文件进行初始化.php,因为没有任何效果?

我试过:

'private/initialise.php'
'/private/initialise.php'
'./private/initialise.php'
'../private/initialise.php'
'./../private/initialise.php'
'../../private/initialise.php'
'../../../private/initialise.php'

+ Morse code!
php 相对路径

评论

1赞 M. Eriksson 10/24/2023
我建议您仔细阅读前端控制器模式,然后使用路由器来处理 URL(您在应用程序中设置的)。这是大多数框架和CMS的做法。它的一个好处是,您可以在不移动文件的情况下更改 URL,并且您不需要像这样手动调用初始化脚本,因为它可以在前端控制器中。
0赞 Nico Haase 10/24/2023
“我如何到达这个文件”——你说的“到达”是什么意思?您共享的代码尚未以任何方式包含laser-cutting.php
0赞 Matt 10/24/2023
谢谢尼科。为了清楚起见,我现在已经编辑了该声明。

答:

1赞 Jarmo T 10/24/2023 #1

dirnameFILE 魔术常量一起使用。使用函数的第二个参数,您可以指定要“上升”多少个级别。dirname

例如:

require_once(dirname( __FILE__, 2) . "/your-folder/your-file.php");

评论

0赞 Matt 10/24/2023
非常感谢!从 2 更改为 1。这解决了它!谢谢!