子文件夹的路径令人困惑

时间:2015-12-18 08:01:05

标签: php

我的文件夹结构

根 - >
      my_framework-> inc / header.php
                  - > register / index.php

在寄存器文件夹中的index.php中,如何在inc文件夹中包含header.php?

这似乎非常棘手。

我试过了:

1)$_SERVER['DOCUMENT_ROOT'].'/my_framework/inc/header.php' =显示错误,说明在该路径中找不到文件

2)../inc/header.php =没有错误,但css不适用。关于源的视图,路径读取myframework / register / inc / header.php

3)$_SERVER['DOCUMENT_ROOT'].dir(_FILE_).'/inc/header.php' =路径错误

在任何子文件夹中包含inc文件夹内的标题的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

你可以这样做:

include('../inc/header.php');

css无法正常工作可能是因为您使用的是相对路径。将css和js文件的路径更改为/path/to/css-file.css

答案 1 :(得分:1)

NodeList nodeList = document.getElementsByTagName("list"));
System.out.println(nodeList .getLength());

1。 这看起来应该有效但依赖于1) $_SERVER['DOCUMENT_ROOT'].'/my_framework/inc/header.php' = shows error saying no file found in that path 2) ../inc/header.php = no error but css not applicable. WHen view on source, path reads myframework/register/inc/header.php 3) $_SERVER['DOCUMENT_ROOT'].dir(_FILE_).'/inc/header.php' = path error 。如果从命令行运行,则可能没有。你回应了常数吗?还是路径?

2。 相对路径问题。

如果在标题中,您的css路径为:$_SERVER['DOCUMENT_ROOT']。在my_framework的索引页面上,路径解析为static/stylesheet.css。在寄存器索引页面上它将变为/my-framework/static/stylesheet.css。 从您的Web根目录(初始斜杠)建立所有路径更容易。 /my-framework/register/static/stylesheet.css

您可以在标题中创建一个名为$ base的变量,并为您的Web路径添加前缀。 /my-framework/static/stylesheet.css然后$base = '/my_framework'。请记住链接。如果您在开发期间移动您的网站并使用子文件夹,则需要。

3。 它的href="<?php echo $base; ?>/static/stylesheet.css"不是dirname(__FILE__)。魔术常数有双重下划线。您可以为dir(_FILE_)切换dirname(__FILE__)。这是一个文件系统路径。如果您的相对包含路径似乎无法解决,则可能需要使用此功能。

将您的文档根目录与__DIR__连接起来也没有意义,您最终会得到:__DIR__