我有一些网页,其中使用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控制台中没有错误显示。
答案 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文件中,以访问ROOT
或IMPORT
常量。
<?php include 'library.php'; ?>
还请阅读以下内容: