php – 绝对与相对路径
如果我使用绝对路径,我无法将整个目录移动到新位置.
如果我使用相对路径,我无法将单个文件移动到新位置. 这里有什么解决方案?你是否设置了一个包含根路径的配置文件并从那里开始?或者你有一个规则:永远不要移动文件? 我在一些项目中看到人们使用dirname(FILE).有意义的是,我的意思是,为什么不简单地将它留下来,因为dirname无论如何都是相对的(取决于文件所在的位置)? 解决方法
你应该使用一个配置文件,它将包含在每个文件的第一行,例如你的应用程序看起来像这样
root / App /插件 你的root目录里面: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 因此,每次app-config.php文件时,此文件中的所有内容或my-plugin.php文件加载的任何其他文件都可以使用ABSPATH而不包含. 考虑到这一点,你可以在app-config.php示例中获得所需的所有简写 define('UPLOAD_PATH',ABSPATH. 'Public/uploads/'); define('IMAGES_PATH',ABSPATH. 'Public/images/'); define('HELPERS_PATH',ABSPATH. 'App/helpers/'); ... 所以,既然已经全部定义了,如果需要移动文件,让我们说一个文件夹转发示例: root / App /插件/实用程序 只是inlucde require_once’../../../app-config.php’; 显然我认为你不是每次都改变路径=)无论如何你需要这样做总是更简单地改变一个文件包含而不是数百. 希望这对你有意义=) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |