如果我使用绝对路径,我不能将整个目录移动到新的位置.
如果我使用相对路径,我不能将单个文件移动到新的位置.
如果我使用相对路径,我不能将单个文件移动到新的位置.
这里有什么解决方案?你是否设置了一个保存根路径的配置文件,然后从那里开始?还是你有一个规则:永远不要移动文件?
我在一些项目中看到人们使用dirname(FILE).这是什么意思,我的意思是,为什么不把它直接退出,因为dirname是相对的(取决于文件的位置)?
您应该使用将包含在每个文件第一行的配置文件,例如您的应用程序看起来像这样
root / App / Plugins
在你的根目录里面:app-config.PHP
if ( !defined('ABSPATH') ) define('ABSPATH',dirname(__FILE__) . '/');
在你的Plugin目录里面: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
只是inlucde require_once’../../../app-config.PHP’;
显然,我想你每次都不改变路径=)反正如果你需要这样做总是更简单的改变一个文件包含而不是数百.
希望这对你有意义=)