通过变量包含文件

时间:2010-07-30 13:23:02

标签: php include variables

这似乎是世界上最基本的东西,但我不懂PHP。

我正在尝试在我的页面上包含一个文件,并在变量内指定该文件的目录。

<?php
    $pageGroup = 'news';
    $directory = 'http://localhost:8888/includes/'.$pageGroup.'/rightCol.html';
    include($directory);
?>

当我echo $directory的结果时,我得到“http://localhost:8888/includes/news/rightCol.html”,这是完全正确的。然而,当我尝试将文件包含在该目录中时,没有任何反应。我假设这与include语法有关。

任何建议都表示赞赏。

2 个答案:

答案 0 :(得分:0)

出于安全考虑,您不希望包含http://资源。而不是你需要通过file_get_contents获取它的内容,但如果这是一个简单的页面元素,你可以使用include而不是完整的URL。

答案 1 :(得分:0)

确保您已从php.ini中启用allow_url_fopen设置。

话虽如此,附带安全隐患,请参阅:

<强>建议:

要包含文件,请不要使用完整的网址路径,只使用文件/文件夹路径。

示例:

include "/includes/news/rightCol.html"; // get from specified dir
include "../rightCol.html"; // get from parent dir
include "../../rightCol.html"; // get from parent parent dir

要从root包含文件,您可能希望在路径前添加:

$_SERVER['DOCUMENT_ROOT'];