PHP:绝对与相对路径

如果我使用绝对路径,我不能将整个目录移动到新的位置.
如果我使用相对路径,我不能将单个文件移动到新的位置.

这里有什么解决方案?你是否设置了一个保存根路径的配置文件,然后从那里开始?还是你有一个规则:永远不要移动文件?

我在一些项目中看到人们使用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’;

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

希望这对你有意义=)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


如何选择合适的 C++ Web 开发框架?
利用 C++ 框架构建高并发 Web 应用的策略
用 C++ 框架开发跨平台图形应用程序
golang框架中安全编码实践的最佳指南是什么?
golang框架与其他语言框架在设计理念上的区别有哪些?
C++ 图形框架与其他语言框架的比较
C++ 框架与其他 Web 开发框架的对比分析
使用 C++ 框架构建大型项目最佳实践
C++ 框架如何提高大型项目开发效率
C++ 框架中依赖注入的持续集成与部署工具
如何与社区协作和贡献到自定义 Golang 框架?
C++ 框架在大型项目中如何实现模块化开发
使用 C++ 框架开发跨平台 Web 应用
C++ 框架在大型项目中的优缺点
golang框架在性能上的优势体现在哪些方面?
C++ 框架在嵌入式系统内存优化中的优势
golang框架在人工智能与机器学习中的作用
如何扩展 Golang 框架以支持特定功能?
如何利用 Go Modules 和依赖项管理来自定义 Golang 框架?
Golang 框架中的性能优化技巧