2013-08-26 25 views
0

我要去include() PHP文件在wordpress主题文件。该文件是的header.php,并且功能是这样的:卡住包括()在wordpress主题

<?php 
error_reporting(E_ALL); 
$filename = "path/to/file.php"; 
if (file_exists($filename)){ 
echo 'Ok'; 
include($filename); 
} ?> 

“确定”,在生成的HTML被打印出来,但输出之后立即停止。我使用了相同的结果和绝对路径。我错过了关于家庭主题的一些工作吗?

文件权限没问题。

编辑:display_errors在wordpress中出现。我不得不让它找到错误并解决。这是致命的。

+0

致命错误:调用一个成员函数函数名()在/path/to/file.php一个非对象在线# 我花了一段时间才找到它:display_error在wordpress中设置。谢谢@Zaffy – Thundar

回答

1
$filename = "file.php"; // First of all that needs to be quoted 

// then its $filename, not filename. Missing $ before variable name 

if (file_exists($filename)){ 
echo 'Ok'; 
include($filename); 
} 
+0

我的错。关于这两件事,开发代码已经确定。我在编辑这个问题。 – Thundar

+0

编辑完成后,代码中没有任何内容会导致上述行为,代码没有问题。只有那些现在可能成为问题的东西是文件是否可访问以及它是否是有效的PHP代码文件?既然你提到了它的一个空白文件,那么这应该不成问题。 –

+0

不幸的是,该文件是可访问的,并且代码当它不是空白时是可以的:我可以直接导航到文件,没有错误。无论如何,它现在是空白的。我认为'include'不应该引发任何致命的错误,但是输出看起来就像它。 – Thundar

0

没关系2米这里的东西..如果你有一段代码后,包括声明要求您将其更改为以下格式..

include('".$filename."'); 

其次,即使它是一个空白文件,它总是最好有引号。

也可以让粘贴任何特定的错误日志针对此问题..

+0

你能解释为什么有关引号吗?我无法理解你的示例 – Thundar

+0

的评论方面..其良好的编码惯例,因为所有包括文件都在引号内..其次在php文件中请在其中添加。 – Shiva

0

我也建议使用include_once(),而不是include()如果在功能上,否则文件将被包含多次调用该函数时,可能会导致错误并肯定会导致服务器资源浪费

另一个建议是,如果调用者和被调用者的文件都位于同一文件夹中,则使用不带路径的文件名。在大多数情况下,这将是一个更好的选择(除非脚本的当前工作目录与调用方文件的目录不同),因为将文件移动到另一台服务器时,路径可能会更改,导致脚本无法正常工作。那时候你需要通过文件修复你的路径。

0

如果您的文件模板内,然后就包括文件如下

<?php include (TEMPLATEPATH . '/path/to/file.php'); ?>