我正在使用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" />
我认为它会在风格前加上“../”,但它不会放任何东西。为什么这不起作用?
谢谢!
答案 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" />