PHP包含的函数在firefox 5中不起作用

时间:2011-07-06 16:20:52

标签: php function include call

我有2个文件:

create.php:

<html>
<body>
<?php
require("Test.php");
hello();
echo "does this work?";
?>
</body>
</html>

和Test.php:

<?php
function hello(){
    echo "hello";
}
?>

但是当我打开create.php时,没有任何内容打印(甚至“这不起作用吗?”。如果我从Test.php调用hello()它可以正常工作。也就是说,它似乎没有执行代码包括。我做错了什么?

编辑:代码似乎在我的IE 8安装中正常工作,但不是在我的FF 5安装中(不可否认,它已经有很多插件)。

再次编辑:问题是需要刷新页面缓存。从来没有问题。代码有效。对不起,全部。

4 个答案:

答案 0 :(得分:1)

帮自己一个忙,打开错误报告。将以下代码放在create.php的开头,告诉我们您收到的错误消息。

<?php

ini_set('display_errors', 'on');
error_reporting(E_ALL);
require_once('Test.php');

?>

我的猜测是路径问题。

答案 1 :(得分:0)

首先,您不需要PHP文件中的html标记。第二:你需要执行你的功能。现在你只定义了它。尝试

test.php的

<?php
function hello(){
    echo "hello";
}
hello();
?>

确保两个文件都在同一目录中。

答案 2 :(得分:0)

使用dirname( FILE )代替stright include

例如

如果我有一个目录

/无功/网络/ HTML /包括

和test.php驻留在includes中,你的脚本是html然后使用dirname(__FILE__).'/includes/test.php

如果您需要返回目录,请使用dirname(dirname(__FILE__))

取决于多少级别。

它也使它成为动态的,因此命令行和浏览器将始终完成文件

答案 3 :(得分:0)

请尝试使用以下代码创建create.php

<?php
require('Test.php');
?>
<html><body>
<?php 
hello(); 
echo 'does this work?';
?>
</body>
</html>