【问题标题】:Using a constant in require_once在 require_once 中使用常量
【发布时间】:2011-12-20 20:44:52
【问题描述】:

我在开发过程中使用以下来定义 root:

define('LOCAL_URL', 'http://localhost/~xampp/Mysite');
define('REMOTE_URL', 'http://example.com');
define('DEV_VERSION', true);
if(DEV_VERSION)
    define('URL', LOCAL_URL);
else
    define('URL', REMOTE_URL);

这个概念对我来说是新的,我是一个 PHP 初学者,所以请保持温和。

我正在尝试在“require_once”中使用“URL”,但我似乎无法让它工作(因为不包括所需的文件)。我尝试了以下方法:

require_once URL.'/phpincludes/coming-events.php';
require_once(URL.'/phpincludes/coming-events.php');
require_once URL . '/phpincludes/coming-events.php';
require_once (URL . '/phpincludes/coming-events.php');
require_once(URL.'phpincludes/coming-events.php');

我检查了http://www.php.net/manual/en/function.require-once.php 并在 Stackoverflow 上进行了搜索,但我并没有真正取得任何进展。

我确定这是我在这里犯的一个非常愚蠢和基本的错误,但我很茫然,非常感谢一些帮助!

【问题讨论】:

  • 看起来您对上一个问题提出了不好的建议。仅将不同的基本 URL 用于输出 HTML 引用。 (关于样式表问题,只需在<base href=...> 中使用它来弥补)。
  • 谢谢马里奥。所以我什至不应该将它用于 img 路径? IE。 <img src="<?php echo URL ?>/images/something.jpg">
  • 一个基本的 href 将使图像和样式表工作。但前提是你有相对路径。否则你需要到处都有 URL 前缀。

标签: php require-once


【解决方案1】:

问题可能是因为URL 有一个协议,它试图通过 HTTP 打开文件。

在 PHP (allow_url_include) 中默认禁用远程包含文件,这是有充分理由的。

您应该传递文件系统中要包含的文件的相对或绝对路径。

【讨论】:

  • 谢谢亚历克斯。我正在使用define,所以我可以使用相对路径,所以现在我真的很困惑。我昨天发布了this question,这导致我使用了define。我不完全明白你在说什么,但我会……嗯……试试别的吧?
猜你喜欢
  • 2011-09-15
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
  • 2011-03-24
  • 2019-06-06
  • 1970-01-01
  • 2012-05-02
  • 1970-01-01
相关资源
最近更新 更多