如何解决如何在多个目录中正确包含同一文件?
我目前正在一个非常简单的具有基本目录结构的多页PHP网站上工作。像这样:
/
- index.php
- config.php
- services/
- index.php
- service-a.php
- service-b.php
- projects/
- index.php
- project-name/
- index.php
- testimonials.php
- common/
- head.php
- js/
- img/
- css/
不幸的是,由于添加了额外的本地文件夹,我的本地开发环境和生产环境在结构上不匹配。
因此,我创建了config.php
(放置在我认为是根文件夹的位置)中,其中包含以下内容:
define('ROOT_DIR',__DIR__);
define('ROOT_URL',($_SERVER["SERVER_NAME"] == "localhost") ? "http://localhost/website/" : "https://website.com/");
这些常量允许我在本地和远程环境中创建我所包含的任何文件的绝对路径,无论它是另一个PHP文件还是图像或样式表。太好了,因为我想尽可能避免任何相对路径。
这是问题所在:
我需要在每个页面中包含配置文件,以便常量起作用。
对于首页(/index.php
)来说没什么大不了的。我只是将其添加到文件顶部:
<?php include_once('config.php'); ?>
但是,对于子目录(/services/index.php
)中的页面,我必须使用配置文件的相对路径,这是我要避免的事情:
<?php include_once('../config.php'); ?>
如果我们更深入地研究,例如/projects/project-name/index.php
,我就必须这样包括:
<?php include_once('../../config.php'); ?>
它可以工作,但似乎/感觉不正确。 我应该如何声明包含文件的路径,该路径定义了应如何声明包含文件的路径?
搜索了几个小时后,我仍然没有找到答案。如果有人有答案或可以指出正确的方向,请告诉我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。