PHP包括不工作

时间:2013-06-06 14:31:22

标签: php include

我正在尝试在网站上设置一些php包含,但我无法让它们工作。测试代码不会在index.php中回显。如果有人可以在代码中看到错误,我会很感激。感谢

codes.php

<?php

$test1 = '123456';
$test2 = '1234567';
$test3 = '12345678';

?>

的index.php

<html>
<head>
<title>Testing</title>
</head>
<body>

<span><?php include 'http://www.mydomain.com/includes/codes.php'; echo "$test1"; ?></span>
<span><?php include 'http://www.mydomain.com/includes/codes.php'; echo "$test2"; ?></span>
<span><?php include 'http://www.mydomain.com/includes/codes.php'; echo "$test3"; ?></span>

</body>
</html>

5 个答案:

答案 0 :(得分:3)

如果您include文件为http://www.mydomain.com/includes/codes.php,那么PHP将与在浏览器中转到http://www.mydomain.com/includes/codes.php时完全相同:没有。

您需要添加本地文件include 'includes/codes.php';

您也不需要多次包含同一个文件。

答案 1 :(得分:1)

你不应该使用绝对路径,你应该使用相对。我宁愿使用__DIR__

  

文件的目录。如果在include中使用,则返回包含文件的目录。这相当于dirname( FILE )。除非它是根目录,否则此目录名称没有尾部斜杠。 (在PHP 5.3.0中添加。)

答案 2 :(得分:1)

<?php include('..'); ?>放在文件的顶部,然后您就可以相应地回显每个变量。您不需要多次包含相同的位置。

答案 3 :(得分:1)

我建议你看一下这个问题:Should I allow 'allow_url_fopen' in PHP?

您正在尝试从include访问外部php文件,这是一个漏洞问题,必须避免。

答案 4 :(得分:1)

如果您使用包含URL(http),则服务器将首先解释该文件,您将获得输出。因此,您无法访问codes.php中定义的变量。

如果您的codes.php与index.php位于同一目录中,则可以通过

包含它
 include(dirname(__FILE__) . DIRECTORY_SEPARATOR . "codes.php";

 include('codes.php')

FILE 是PHP中使用当前文件路径的神奇变量。如果你包含一个同时包含include的文件(如果你使用静态文件pathes那些包含可能会弄得一团糟),这会派上用场。 DIRECTORY_SEPARATOR在Linux服务器上使用“/”,在Windows服务器上使用“\”。