绝对路径与相对路径
如果使用绝对路径,则无法将整个目录移动到新位置。如果使用相对路径,则无法将单个文件移动到新位置。
这里有什么解决方案?您是否设置了一个包含根路径并从那里开始的配置文件?还是您有类似的规则:永不移动文件?
我在某些项目中看到人们使用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