PHP require_once奇怪不起作用?

时间:2012-12-08 20:09:00

标签: php wordpress include require

我正在尝试在页面中包含一个文件。该文件位于一个名为phpThumb的文件夹中,该文件夹放在我的wordpress主题目录中 这就是我试图包含文件“

的方法

<?php require_once(get_bloginfo('template_url')."/phpThumb/phpThumb.config.php"); ?>

由于某种原因,这不起作用 我确实检查了get_bloginfo() 返回一个值,并且没有回显一个值。
我仔细检查了代码的有效性,这一切都很好IMO ......

可能出现什么问题?

P.S;它使用$_SERVER['DOCUMENT_ROOT']工作,但它的输出取决于当前页面(如果我错了,请纠正我)所以它对我来说效率不高。

3 个答案:

答案 0 :(得分:7)

require_once期望目录中的文件不是网址。

get_bloginfo('template_url')替换为Wordpress函数get_template_directory()

<?php require_once(get_template_directory()."/phpThumb/phpThumb.config.php"); ?> 

答案 1 :(得分:1)

你试图要求,而不是包括。如果你想包括这样做: <?php include("page"); ?>

答案 2 :(得分:1)

$_SERVER['DOCUMENT_ROOT']不依赖于当前页面/文件。它将为您提供Web根文件夹的系统文件路径。 require_once需要系统文件路径。因此,如果您的phpThumb.config.php位于您的网络根目录/dir1/dir2/phpThumb/phpThumb.config.php。你会这样做

require_once($_SERVER["DOCUMENT_ROOT"] . '/dir1/dir2/phpThumb/phpThumb.config.php');

检查get_bloginfo('template_url')."/phpThumb/phpThumb.config.php"的输出并将其与上述内容进行比较。