5

我有一个 php 文件,我想包含另一个具有 css 链接标签和 javascript 源标签的 php 文件,但是当我尝试包含它们时,它不会被添加到页面中。

我的 php 页面:

<?php 
    $root = $_SERVER['SERVER_NAME'] . '/mysite'; 
    $theme = $root . '/includes/php/common.php';
    echo $theme;
    include($theme);
?>

常见的.php:

<link rel='stylesheet' type='text/css' href='../css/main.css'/>";

有谁知道怎么了?谢谢

4

2 回答 2

7

PHPinclude是服务器端的,因此您需要使用服务器端路径。最好用dirname(__FILE__)代替$_SERVER['SSCRIPT_NAME'],但$_SERVER['SERVER_NAME']绝对是错误的。

尝试:

include dirname(__FILE__)."/common.php";

或者,如果您要包含的文件不在同一目录中,请更改路径。例如对于父目录,使用dirname(__FILE__)."/../common.php".


请注意,有些人可能会建议使用include "./common.php"或类似的。这可能有效,但当脚本调用实际上被另一个目录中的另一个脚本包含时,很可能会失败。include使用dirname(__FILE__)."/common.php"将消除这个问题。

于 2013-02-05T04:02:11.900 回答
2

将您的代码更改为:

<?php  
    $theme = 'includes/php/common.php';
    echo $theme;
    include($theme);
?>

如果您的包含文件夹与您的 php 页面位于同一文件夹中,那么它应该可以工作,如果不添加您的域名。在这种情况下不需要 SERVER_NAME。

于 2013-02-05T04:06:46.690 回答