我有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安装中(不可否认,它已经有很多插件)。
再次编辑:问题是需要刷新页面缓存。从来没有问题。代码有效。对不起,全部。
答案 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>