绝对路径与相对路径

如果使用绝对路径,则无法将整个目录移动到新位置。如果使用相对路径,则无法将单个文件移动到新位置。

这里有什么解决方案?您是否设置了一个包含根路径并从那里开始的配置文件?还是您有类似的规则:永不移动文件?

我在某些项目中看到人们使用dirname( )。我的意思是,为什么不简单地将其删除,因为目录名还是相对的(取决于文件所在的位置)?

回答:

您应该使用一个配置文件,该配置文件将包含在每个文件的第一行中,例如您的应用程序如下所示

根目录/应用程序/插件

在您的根目录下: app-config.php

if ( !defined('ABSPATH') )

define('ABSPATH', dirname(__FILE__) . '/');

现在,假设您必须包含一个插件文件,因此

在您的插件目录中: my-plugin.php

require_once '../../app-config.php';

现在此行下方的所有内容都可以使用 ABSPATH

您要加载图像的示例

<img src='".ABSPATH."Public/images/demo.png' alt=''/>

现在,如果您的应用旨在自动加载某些文件(例如,

plugin-widget-1.php

这样,每次该文件或该文件加载的任何其他文件中的所有内容都my-plugin.php可以使用ABSPATH不包括在内 app-

config.php

考虑到这一点,您可以将所需的所有速记方式放到app-config.php示例中

define('UPLOAD_PATH', ABSPATH. 'Public/uploads/');

define('IMAGES_PATH', ABSPATH. 'Public/images/');

define('HELPERS_PATH', ABSPATH. 'App/helpers/');

...

因此,既然已经定义好了,如果您需要移动一个文件,我们来看一个文件夹转发示例:

根目录/应用程序/插件/实用程序

只是幸运 require_once '../../../app-config.php';

显然,我想您不是每次都更改路径=),如果您需要这样做,更改一个文件包含而不是数百个总是更简单。

希望这对您有意义=)

以上是 绝对路径与相对路径 的全部内容, 来源链接: utcz.com/qa/403516.html

回到顶部