PHP 包含的文件路径
PHP File Path With Include
我的项目目前是这样设置的:
-index.php
-css
--index.css
-includes
--head.php
head.php
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../css/index.css">
<title> My Website </title>
</head>
<body>
index.php
<?php
include(__DIR__.'/includes/head.php');
?>
问题是 index.css 不起作用。我现在不明白我做错了什么。任何帮助将不胜感激。谢谢
问题出在 PHP include()
的工作方式上;它字面上 包含 从 head.php
到 index.php
的代码, 没有 更新任何相关链接。因此,您 index.php
正在 ../css/index.css
中查找 CSS 文件。虽然您的 head.php
确实需要在查看 CSS 文件夹之前进入一个目录,但您的 index.php
文件不需要。
要解决此问题,您有多种选择:
- 您可以更新
css/index.css
的相对路径以从您的 index.php
文件中工作。
- 您可以使用根目录相对路径
/css/index.css
从 任何 文件夹中引用 CSS 文件。
- 您可以使用绝对路径
https://yourwebsite.com/css/index.css
从您的网站和任何其他网站引用 CSS 文件。这进一步消除了混淆,但如果您更改域,则会导致问题。
就我个人而言,我会推荐根目录相对路径,因为它在使用 include 和 partials 之类的东西时会减少混乱。
我的项目目前是这样设置的:
-index.php
-css
--index.css
-includes
--head.php
head.php
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../css/index.css">
<title> My Website </title>
</head>
<body>
index.php
<?php
include(__DIR__.'/includes/head.php');
?>
问题是 index.css 不起作用。我现在不明白我做错了什么。任何帮助将不胜感激。谢谢
问题出在 PHP include()
的工作方式上;它字面上 包含 从 head.php
到 index.php
的代码, 没有 更新任何相关链接。因此,您 index.php
正在 ../css/index.css
中查找 CSS 文件。虽然您的 head.php
确实需要在查看 CSS 文件夹之前进入一个目录,但您的 index.php
文件不需要。
要解决此问题,您有多种选择:
- 您可以更新
css/index.css
的相对路径以从您的index.php
文件中工作。 - 您可以使用根目录相对路径
/css/index.css
从 任何 文件夹中引用 CSS 文件。 - 您可以使用绝对路径
https://yourwebsite.com/css/index.css
从您的网站和任何其他网站引用 CSS 文件。这进一步消除了混淆,但如果您更改域,则会导致问题。
就我个人而言,我会推荐根目录相对路径,因为它在使用 include 和 partials 之类的东西时会减少混乱。