为多个站点使用相同的文件(PHP)

时间:2012-11-07 01:16:08

标签: php include

我的目标是拥有多个这样的网站:

www.mysite.com/site1/

www.mysite.com/site2/

www.mysite.com/site3/

www.mysite.com/site4/

<小时/> 这些网站的文件位于:

www.mysite.com/site_files/

这些包括网站的各个页面,以及css,js和图像。

<小时/> 这些页面中的每一页都几乎相同,但会从不同的数据库中加载内容,并且一些着色以及一些图像将会有所不同。

我很好奇这样做的最佳方式是什么。我尝试从index.php获取www.mysite.com/site_files/并将其包含在网站的index.php中:

www.mysite.com/site index.php的内容:

<?php 

     $siteDB = "this";
     $domainName = "thisdomain";
     $twitterName = "thistwitter";
     $facebookName = "thisfacebook";

     include 'http://www.mysite.com/site_files/index.php'; 

?>

然后在site_files index.php中我引用$ siteDB:

echo $siteDB;

使用此方法,变量不可用于包含的代码。

每个网站index.php都有不同的变量,但它们都包含相同的site_files/index.php

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:3)

这不起作用:

include 'http://www.mysite.com/site_files/index.php'; 

您需要访问相对于脚本的包含文件。或者通过绝对网址:

include $_SERVER['DOCUMENT_ROOT'].'/site_files/index.php'; 

您的方法在技术上是可用的,但您应该在Web根目录下包含嵌套的配置文件。

include $_SERVER['DOCUMENT_ROOT'].'/site1_config.php'; 
include $_SERVER['DOCUMENT_ROOT'].'/site_files/index.php';

配置定义数据库连接和任何其他特定于站点的详细信息。

这是一种方法,可能是最接近你拥有的。但不一定是“最好的”

在这种情况下,“最好”是一个意见问题。