php文件包括,PHP包括另一个目录中也包含文件的文件

我已经包含多个文件,我最近开始了一个新目录,我无法让我的一些包含工作.

例如,我在postpage.php中包含了这个,它位于example.com/c/postpage.php:

include '../includes/overall/header.php';

它的工作原理是它进入根目录并包含header.php

但我的问题是header.php还包括未包含的文件.

header.php中的代码是:

include 'includes/head.php';

这是行不通的

如果我将header.php更改为:

include '../includes/head.php';

然后它打破了我网站的其余部分,同时只为postpage.php工作

欢迎任何建议.

解决方法:

防止可能破坏相对路径的CWD更改的最佳方法是使用绝对路径包含文件.

一个简单的方法是使用__DIR__常量.

例:

文件结构:

serverRoot (/)

|-usr

|-local

|-www

|-index.php

|-bootstrap.php

|-includes

|-a.php

|-overall

|-b.php

|-c.php

让我们说:

> index.php包括bootstrap.php和a.php

> a.php包括b.php

> bootstrap.php包含c.php

的index.php

$basedir = realpath(__DIR__);

include($basedir . '/bootstrap.php');

include($basedir . '/includes/a.php');

a.php只会

global $basedir;

include($basedir . '/includes/overall/b.php');

bootstrap.php中

global $basedir;

include($basedir . '/includes/overall/c.php');

标签:php,include,directory

来源: https://codeday.me/bug/20190725/1534545.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值