【发布时间】:2014-04-23 05:15:36
【问题描述】:
我正在做一些非常简单的事情,并且想了解为什么某些文件路径引用有效而其他文件路径引用无效。我的测试代码如下:
<?php
$menu1 = 'c:/xampp/htdocs/data/sc01/includes/menu.php';
$menu2 = 'http://localhost/data/sc01/includes/menu.php';
$test1 = 'http://localhost/data/sc01/css/style.css';
$test2 = 'c:/xampp/htdocs/data/sc01/css/style.css';
$test3 = 'css/style.css';
echo $test1; echo "<br>";
echo $test2; echo "<br>";
echo $test3; echo "<br>";
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="<?php echo $test2; ?>">
<link rel="stylesheet" href="css/font-awesome.min.css">
<title>Index</title>
</head>
<body>
<div id="container">
<?php include "$menu1"; ?>
<h1>Welcome to our site!</h1>
<p>This is a test coment</p>
</div>
</body>
<div class="footer-container">
<?php include "c:/xampp/htdocs/data/sc01/includes/footer.php"; ?>
</div>
</html>
我的问题:
- 在标题部分引用 css 文件:$test1 有效,$test2 无效,$test3 有效。在检查这些的 echo 语句中,所有路径似乎都正确验证。为什么是这样? - 我会认为所有这些都应该有效?
- 在访问导航菜单的容器部分,$menu1 有效,$menu2 无效 - 给出 PHP 错误。为什么是这样? - 我会认为所有这些都应该有效?
- 在包含菜单代码中,?php include "$menu1"; ?,双引号有效。但是单引号 '$menu1' 不起作用,但我认为单引号或双引号应该产生相同的结果。这是为什么呢?
提前致谢!
【问题讨论】:
-
不要使用绝对路径。