我有一个php文件,我想要包含另一个包含css链接标记和javascript源标记的php文件,但是当我尝试包含它们时,它不会被添加到页面中。
我的php页面:
<?php
$root = $_SERVER['SERVER_NAME'] . '/mysite';
$theme = $root . '/includes/php/common.php';
echo $theme;
include($theme);
?>
的common.php:
<link rel='stylesheet' type='text/css' href='../css/main.css'/>";
任何人都知道什么是错的?感谢
答案 0 :(得分:6)
PHP的include
是服务器端,因此您需要使用服务器端路径。最好使用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"
将消除此问题。
答案 1 :(得分:2)
将您的代码更改为:
<?php
$theme = 'includes/php/common.php';
echo $theme;
include($theme);
?>
如果您的包含文件夹与您的php页面位于同一文件夹中,那么它应该可以使用,如果不是添加您的域名。在这种情况下,不需要SERVER_NAME。