使用 PHP 变量时找不到文件



你好(英语不是我的第一语言,所以请原谅我的任何错误(,

我正在做一个额外的学校项目,该项目的目标是设计和编写一个论坛网站。我在这个项目中使用了HTML,CSS,JavaScript和PHP。我对最后两个很陌生。我使用JavaScript来检查密码是否符合所有要求。大写字母、数字等.PHP用于从 MySql 数据库中的表单导入数据并用于变量。

我目前正在主页面和注册页面上工作。我在YouTube视频的帮助下完成了孔注册过程。我现在正在尝试制作一些"模板div",因此当我有例如 10 页并且更改网站标题时,我不必打开每个文件即可更改它。我目前正在使用 php define 创建一个变量(我认为(,该变量放置在每个页面中。我目前在索引页面中得到了这个工作,但是当我转到注册页面时,每个图像和指向其他页面的链接都不起作用。问题是它会搜索注册页面所在的文件夹中的图像或文件。但是图像位于 Root/CSS/Images/Registration 文件夹中,而不是在 Root/Registration/CSS/Images/Registration(注册(中。

所以简而言之, 有没有办法在不使用绝对 url 的情况下从每个页面找到文件?

我尝试了以下方法: 使用../在路径前面,但这在返回索引文件时不起作用。

例如,使用绝对网址。D/OneDrive/Documents/School/Website/Host/CSS/Images/.这仅在网站位于此路径中时才有效。但是当我将其移动到实际服务器时,这显然不起作用,因为路径错误。

索引文件:

<?php
require_once('PHP/config.php');
?>
<html>
<head>
<meta charset="UTF-8">
<title><?php echo  title; ?></title>
<link rel="icon" href="CSS/Images/icon.png">
<link rel="stylesheet" href='CSS/style.css'>
</head>
<body>
<?php echo  header; ?>
</body>
<footer class="footer"><?php echo  footer; ?></footer>
</html>

配置/变量文件:

<?php
define('title','Martijns Forum');
define('footer', '*All the footer code*');
define('header', '
<div class="banner">
<img src="CSS/Images/banner.jpg">
*All the other banner code*
</div>'
?>

我预料到了 404 错误,因为我不知道如何处理这个问题的另一种方法。

如果使用绝对 URL,则在服务器上部署页面时需要更改 URL。 绝对 URL 应像这样使用:

<?php echo SERVER_URL.'/CSS/Images/icon.png'; ?>

您必须将服务器 URL 更改为您的服务器 IP 地址或域名。

<?php
define('SERVER_URL', 'http://8.8.8.8');
?>

尝试再创建一个常量。在下面的情况下,我将使用 INCLUDE_PATH 作为常量。并在其中设置页面文档所在的文件夹的默认完整URL,在这种情况下,我将使用示例 https://mydomain/

<?php
define('INCLUDE_PATH','https://mydomain/');
define('title','Martijns Forum');
define('footer', '*All the footer code*');
define('header', '
<div class="banner">
<img src="CSS/Images/banner.jpg">
*All the other banner code*
</div>');
?>

现在使用 echo 函数并在所有页面请求上调用 include_path 常量,在本例中为 css 的开头。它看起来像这样:


<?php
require_once('PHP/config.php');
?>
<html>
<head>
<meta charset="UTF-8">
<title><?php echo  title; ?></title>
<link rel="icon" href="<?php INCLUDE_PATH; ?>CSS/Images/icon.png">
<link rel="stylesheet" href="<?php INCLUDE_PATH; ?>CSS/style.css">
</head>
<body>
<?php echo  header; ?>
</body>
<footer class="footer"><?php echo  footer; ?></footer>
</html>

最新更新