【问题标题】:PHP require_once in backPHP require_once 在后面
【发布时间】:2016-09-17 15:53:06
【问题描述】:

我的代码有一个问题,我不知道如何解决。

我有这样的文件:

ROOT->包括 - inc_files.php

和新文件

ROOT->包括->STRANICE - blog.class.php

如何在 blog.class.php 中使用 require_once 来包含 inc_files.php ?

我的代码(blog.class.php)

require_once("./inc_files.php"); 

所有尝试

require_once("../inc_files.php"); 
require_once(".../inc_files.php"); 

还有更多... 请帮忙!

【问题讨论】:

  • 请不要大喊大叫。您显然已经知道如何使用 Markdown。这就是你所需要的。 (通常我会自己编辑你的问题,但我不完全确定它应该说什么......)
  • 其实你可以测试一下,因为你已经写好了……另外,提示是使用realpath来找出你指向的文件。

标签: php require-once


【解决方案1】:

使用相对于当前 PHP 文件的路径怎么样?

在你的root/includes/stranice/blog.class.php

require_once(dirname(__DIR__) . "/inc_files.php");

【讨论】:

  • 你用大写 F 修正我的错字了吗?
  • 他们没有大写 F
  • 您的意思是“不工作”还是“现在工作”?另外,你能试试echo basename(dirname(__DIR__) . "/inc_files.php"); 看看这条路径指向什么吗?我现在的回答应该是正确的。你可能复制了my typo
【解决方案2】:

你可以简单地使用

require_once($_SERVER['DOCUMENT_ROOT'] . '/includes/inc_files.php');

【讨论】:

  • 根据我的个人经验,当我将我的网站移动到朋友网站的子目录中时,这种方法会变成一场灾难,因为我需要将它托管在朋友的机器上(而我自己的主机已关闭)。不过,对大多数人来说可能不是问题。
  • 我需要解决一些问题,因为如果我更改某些目录,我需要手动更改代码..
  • 工作-> require_once('./includes/inc_files.php');但为什么呢?
  • 因为你的包含路径设置为你的根路径?您的脚本是否直接从文档根目录的文件运行?
  • 如果您更改文件的位置,您将始终需要手动更改代码。唯一的例外是您使用了@PEMapModder 的代码,然后移动了整个includes 文件夹。
猜你喜欢
  • 2013-03-27
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 2012-04-26
  • 2017-01-07
  • 2011-02-08
  • 2016-08-31
  • 2013-12-03
相关资源
最近更新 更多