php include语句

时间:2010-07-28 17:51:35

标签: php html css

我正在使用php开发我的第一个网站。我提出了一个很好的方法,或者我想,根据我的位置来处理包括css表。例如,我有一个我使用此代码提交的表单:

 $root = '../';


 function died($error) 
 {
  include '../includes/header.php';
  echo "We are very sorry, but there were error(s) found with the form your submitted. ";
  echo "These errors appear below.<br /><br />";
  echo $error."<br /><br />";
  echo "Please go back and fix these errors.<br /><br />";
  include '../includes/footer.php';
  die();
 }

我将变量$ root设置为“../”,然后这是header.php的相关部分:

<link href="<?php echo $root;?>styles/styles.css" rel="stylesheet" type="text/css" />

我认为它会在风格前加上“../”,但它不会放任何东西。为什么这不起作用?

谢谢!

4 个答案:

答案 0 :(得分:1)

$root不在函数范围内(我假设..) 将global $root;添加到函数的顶部,它应该可以正常工作。

$root = '../';

function whatever() {
  global $root;

  echo "<link rel=stylesheet type=text/css href=\"" . $root . "something.css . "\">";
}

答案 1 :(得分:0)

您可以将CSS文件的路径设为绝对路径:

<link href="/styles/styles.css" rel="stylesheet" type="text/css" />

使用正斜杠(/)添加前缀会使URL相对于您网站的根目录。上面的示例将引用类似http://example.com/styles/styles.css的内容。这样,您可以将所有CSS放在网站根目录下的文件夹中,而不必担心路径。

答案 2 :(得分:0)

在这种情况下,我的建议是使用$ root =“FULL path”;

所以例如......如果你的web根目录在“/ var / www / html /”中并且你正在处理一个项目,那就把它称为“/ var / www / html / sampleProject”中的sampleProject。 / p>

设置$ root =“/ sampleProject /;这样当你使用像 样式/ Styles.css中“/&GT; 你结束了   这就是你想要的。

与其他答案不同,这使得您的代码在我的意见中更具可移植性。例如,如果您将站点“sampleProject”移动到/ var / www / html / dir1 / dir2 / dir3 / sampleProject / all,您需要做的是更改$ root =“/ dir1 / dir2 / dir3 / sampleProject /”它将会还在工作。然而,如果您使用显式完整路径,则建议您每次移动站点时都必须更改此路径。

答案 3 :(得分:0)

对于引用此类文件,您只需要使用正斜杠启动路径,然后路径相对于根目录...

<link href="/styles/styles.css" rel="stylesheet" type="text/css" />