如何设置目录中所有PHP导入的ROOT?

时间:2019-04-20 01:17:10

标签: php html import

我有一些网页,其中使用php导入页面元素。在每个页面上,我设置根目录。在HTML中,我导入了我使用的其他代码,例如库,导航栏和页脚。这是代码:

设置要从中导入的根目录

<?php define(ROOT, '/var/www/html/my-project');?>

导入该页面的所有CSS和javascript:

<?php require_once ROOT.'/imports/a-libs.php'; ?>

导入导航栏:

<?php  require_once ROOT.'/imports/b-menu.php'; ?>

导入页脚:

<?php  require_once ROOT.'/imports/c-footer.php'; ?>

是否可以在一个文件中定义其他导入的根目录,而不必在每个文件中都具有根目录定义?

此外,根据<?php phpinfo();?>,项目的根目录是'/ var / www / html /,但是我需要进入'my-project'目录,因此我将其添加到了ROOT中定义。有没有一种方法可以调用getcwd并将其附加到我的项目中?像这样:

 <?php define(ROOT, getcwd().'/my-project');?>

我尝试过,但是这样做时页面空白,并且Web控制台中没有错误显示。

1 个答案:

答案 0 :(得分:0)

getcwd()为您提供当前的工作目录。 echo getcwd();,查看当前路径是什么,并在require_once中相应地调整文件路径。

如果您具有这样的目录结构:

/var/www/html/my-project/library.php
/var/www/html/my-project/imports/a-libs.php
/var/www/html/my-project/imports/b-menu.php
/var/www/html/my-project/imports/c-footer.php

然后在library.php中使用

<?php

define( 'ROOT', getcwd() );
require_once ROOT . '\imports\b-menu.php'; 
require_once ROOT . '\imports\c-footer.php';
require_once ROOT . '\imports\a-libs.php';

?>

OR

<?php 

define( 'IMPORT', getcwd() . '\imports' );
require_once IMPORT . '\b-menu.php'; 
require_once IMPORT . '\c-footer.php';
require_once IMPORT . '\a-libs.php';

?>

现在,您可以include library.php在任何其他具有适当路径的PHP文件中,以访问ROOTIMPORT常量。

<?php include 'library.php'; ?>

还请阅读以下内容:

Include files from parent or other directory