如果使用绝对路径,则无法将整个目录移动到新位置。如果使用相对路径,则无法将单个文件移动到新位置。
这里有什么解决方案?您是否设置了一个包含根路径并从那里开始的配置文件?还是您有类似的规则:永不移动文件?
我在某些项目中看到人们使用dirname( FILE )。我的意思是,为什么不简单地将其删除,因为目录名还是相对的(取决于文件所在的位置)?
您应该使用一个配置文件,该配置文件将包含在每个文件的第一行中,例如您的应用程序如下所示
根目录/应用程序/插件
在您的根目录下: 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';
显然,我想您不是每次都更改路径=),如果您需要这样做,更改一个文件包含而不是数百个总是更简单。
希望这对您有意义=)
主要内容:什么是当前工作目录,什么是绝对路径与相对路径,Python处理绝对路径和相对路径在介绍绝对路径和相对路径之前,先要了解一下什么是当前工作目录。 什么是当前工作目录 每个运行在计算机上的程序,都有一个“当前工作目录”(或 cwd)。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。 注意,虽然文件夹是目录的更新的名称,但当前工作目录(或当前目录)是标准术语,没有当前工作文件夹这种说法。 在 Python 中,利用 os.getcwd() 函数可以取得当前工作路径的字
在 Linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置,例如,在《 Linux文件系统的层次结构》中提到的 /home/cat 就表示的是 cat 文件所存放的位置。只要我们告诉 Linux 系统某个文件存放的准确位置,那么它就可以找到这个文件。 指明一个文件存放的位置,有 2 种方法,分别是使用 绝对路径和 相对路径。 我们知道,Linux 系统中所有的文件(目录)都被组织成以根
问题内容: 我有文件A的绝对路径。 我有一个从文件A的目录到文件B的相对路径。此路径可以并且将使用“ ..”以任意复杂的方式向上移动目录结构。 范例A: 示例B: 我如何结合这两者以获得 最简单的 绝对路径到文件B? 问题答案: 如果我的问题正确,那么您可以执行以下操作:
问题内容: 我正在编写一个程序,其中的一个组件必须能够采用给定的路径(例如或)和基于该位置的相对路径(例如或或)并产生绝对路径由相对路径暗示。考虑以下目录树。 该文件包含一个链接,如。该计划获得通过或,并将其与结合来获得。 同样,文件具有链接,程序需要从该链接返回。有合理的方法做到这一点吗? 谢谢。:) 编辑: 谢谢斯蒂芬·温伯格!对于未来的每个人,这是我使用的代码。 问题答案: 在与使用时应该做
我有以下问题。当我想在我的Gradle依赖项中使用一个本地jar时。 如果我只是补充一句: 不管用. C:\users\kai\androidStudioProjects\projecta\app\src\main\Java\de\xyz\xxx\projecta\baseActivity.Java:21:错误:包com.pushlink.android不存在导入com.pushlink.andr
我想引用一个固定位置的jar文件供多个可执行jar使用,而不是在每个可执行文件中包含该jar。我有以下设置工作良好 但是我想用绝对路径来处理commons-math3-3.6.1.jar,以便testgradle.jar这样的可执行JAR可以从它们所在的任何目录中使用它。但是,如果我更改testgradle.jar manifest以包括完整路径: 则命令: 从testgradle/build/l