gpt4 book ai didi

php - 绝对路径与相对路径

转载 作者:IT王子 更新时间:2023-10-29 00:12:44 26 4
gpt4 key购买 nike

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

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

我在一些项目中看到人们使用 dirname(FILE)。这有什么意义,我的意思是,既然 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/');
...

所以,既然你已经定义好了,如果你需要移动一个文件,让我们说一个文件夹向前的例子:

root/App/Plugins/Utils

只需包含 require_once '../../../app-config.php';

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

希望这对你有意义 =)

关于php - 绝对路径与相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8356547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com