【问题标题】:include files from subdirectory which calls from another directory包含从另一个目录调用的子目录中的文件
【发布时间】:2015-02-17 16:29:56
【问题描述】:

我这里有一个文件:public_html/wiki/index.php

我正在调用这些文件:

<?php
include "../auth.php";
include "../header.php";
?>

但是,我的页面看起来像这样:

如果我将相同的文件粘贴到 public_html/index.php 中,它会如下所示:

我想我已经把它缩小到我的 header.php 文件,该文件是从 /wiki/ 调用的,但 header 是从 ../css..../js 调用的文件等等。

如何解决这个问题?我已经看过很多帖子,它们告诉我定义一个全局变量,但这对我没有帮助。像这样:

<?php //config file in root folder
define("ROOT", __DIR__ ."/");
?>

然后用这个调用他们:

<?php
include_once("../config.php");
include (ROOT ."auth.php");
include (ROOT ."header.php");
?>

我应该怎么做才能将我所有的 javascripts 和实际网站放在另一个文件夹中?

【问题讨论】:

  • 为什么将已经是 PHP 常量的内容分配给另一个常量? require_once realpath( __DIR__ . '/../auth.php' ); - 我很确定我已经看到一个与今天锁定为重复的问题非常相似的问题:stackoverflow.com/questions/28562839/…
  • 对于头文件中的 CSS 和 JS,客户端的任何内容都可以引用到文档根 &lt;script src="/js/something.js"&gt; &lt;/script&gt;(注意开头的 /)跨度>
  • @CD001 realpath 在 php 5.3 之后与 dir 相同,我已经尝试过,就像这个问题所说:stackoverflow.com/questions/7074604/… 它不起作用
  • @CD001 但是,您对 js 的看法是正确的。谢谢!

标签: php include include-path


【解决方案1】:

注意:我想要这个作为评论,但没有代表

我们有不同的文件夹结构,但最好将包含文件放在一个文件夹中,然后从那里链接所有 JS 文件(最佳做法是将它们放在前页脚中以提高速度),然后执行

<?php include $_SERVER['DOCUMENT_ROOT'].'/includes/page-footer.php'; ?>

只需更改文件名以适合您:) 希望这会有所帮助

【讨论】:

    【解决方案2】:

    问题是我的包含文件没有将链接指定为 /js/file.js

    我将它们作为 js/file.js。

    感谢@cd001

    【讨论】:

      猜你喜欢
      • 2013-05-03
      • 1970-01-01
      • 1970-01-01
      • 2014-03-17
      • 2021-06-24
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多