PHP文件的问题包括

时间:2011-07-25 11:57:00

标签: php syntax

<?php
   $path = "http://" . $_SERVER['HTTP_HOST'];
?>

<?php include $path . 'library/content/header.php'; ?>

我似乎无法让这个工作。语法是否有错误?

5 个答案:

答案 0 :(得分:3)

您需要包含相对于文件系统的路径,而不是URL。

例如:$path = dirname(__FILE__).'/';

补充阅读:

答案 1 :(得分:1)

您必须启用allow_url_include才能在您的ini中默认禁用它。 http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include

但是由于你保持相同的sercer,使用相对路径。 例如:

$path ='./'

答案 2 :(得分:0)

当您需要到php文件(或任何其他动态文件)的绝对HTTP路径时,您将获得文件的解析输出,因此您实际上包含文件的输出,而不是源代码。您可以通过配置allow_url_include来避免这种情况,但这不是最佳做法。

为了使代码正常工作,您应该在服务器上包含该文件的相对或绝对路径。我还建议使用include_once或require_once。

<?php
require_once('head.php'); // if its on the same folder

require_once('/var/www/head.php'); //full path to file on server

require_once(dirname(__FILE__).'/../head.php'); // relative path to file using the path of the current open file
?>

希望这有帮助,
Shai。

答案 3 :(得分:0)

首先:您应该从不包含远程文件。很明显,你想要包含一个本地文件,因此强烈建议使用本地文件路径。

include '/path/to/file.php';

如果确实想要包含远程文件,请记住,通常会通过“http:// are executed by the webserver. This means, if you are trying to include a remote file via http:// example.com / script.php”请求您通常只接收生成的内容,而不是php-source。

答案 4 :(得分:-2)

您不能包含远程脚本。您只允许包含本地php文件,它们位于php文件的路径范围内,您正在编写包含在。