当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《PHP包括另一个目录中也包含文件的文件》经验,为你挑选了1个好方法。

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

例如,我在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工作

欢迎任何建议.



1> Tivie..:

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

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

例:

文件结构:

serverRoot (/)
    |-usr
        |-local
            |-www
                |-index.php
                |-bootstrap.php
                |-includes
                    |-a.php
                    |-overall
                        |-b.php
                        |-c.php

让我们说:

index.php包括bootstrap.phpa.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');

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有