【问题标题】:Relative paths : going down and up相对路径:向下和向上
【发布时间】:2012-10-16 19:33:48
【问题描述】:

我有一堆目录,但在包含一些文件时遇到了麻烦。这是我的结构。

index.php

vian/vian.php

包括/整体/head_content.php

包括/overall/head.php

这是我的head_content.php

testing text
<?php include 'includes/overall/head.php'; ?>
<div class="wrapper row3">
    <div id="container" class="clear"> 
        <div id="content">

我想将该文件包含在vian/vian.php

我使用'../includes/overall/head_content.php';,自从出现“测试文本”后,路径就可以正常工作。但它不能包含includes/overall/head.php。我隐约明白为什么它不起作用,但我不知道如何解决它。

'../includes/overall/head_content.php'; 用于我的所有页面,包括位于我的根目录中的index.php

【问题讨论】:

  • 查看__DIR__ magic constant。然后,您可以包含相对于当前文件目录的:__DIR__ . '/../vian/vian.php' 等。

标签: php include relative-path


【解决方案1】:

在你的结构中:

 + index.php
 + vian
 |  ` vian.php
 ` includes
    + overall
        + head_content.php
        ` head.php

每个文件之间都有特定的关系。因此,您可以利用从一个文件到另一个文件的相对链接。

在 PHP 中的帮助是 __DIR__ magic constant。它自动包含每个文件中的目录。您可以使用它来使相对路径成为绝对路径。绝对路径非常健壮。

例子:

  • index.phpincludes/overall/head.php:
    __DIR__ . '/includes/overall/head.php'
  • includes/overall/head.phpvian/vian.php
    __DIR__ . '/../../vian/vian.php'
  • includes/overall/head_content.phpincludes/overall/head.php
    __DIR__ . '/head.php'

等等等等。

【讨论】:

  • 其实我是想从vian.php到head.php。
  • 这将是第二个例子。你向上走两步,然后再向下进入 vian 目录。
  • 那么我没有得到一些东西......我不想在任何地方包含vian.php。我想在 head_content.php 中包含 head.php,以便它可以显示在 vian.php 中
  • @Sarah:一切都一样。我添加了第三个例子来展示这种情况。也许它有助于为您澄清这一点。这两个文件在同一个目录中,所以它甚至非常简单。
  • 是的,你应该在每个位置使用它。所以你可以稍微训练一下,你也可以在任何地方都一样。那你就不用想那么多了。此外,如果您为开发启用错误报告,PHP 会在出现问题时向您显示路径。
【解决方案2】:

试试

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

【讨论】:

    猜你喜欢
    • 2012-12-13
    • 2020-09-25
    • 1970-01-01
    • 2014-08-19
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    相关资源
    最近更新 更多