在 PHP 中链接 CSS 文件


linking css files in php

我是PHP的新手,我正在做一个项目,我在链接css和js文件时遇到了一些问题。现在当项目被执行时,第一个索引.php加载(位于根目录中),其中包括home.php并且其中的所有内容都正确执行。但是一旦你点击"主页"上的"关于"链接,页面就会被重定向到about.php(它位于Presentation/about.php)这里css和js链接失败......
在执行索引时.php它成功获取css链接(链接如下)

<link href="css/bootstrap-theme.min.css" rel="stylesheet">但稍后当页面重定向到"关于"时.php它期望链接
<link href="../css/bootstrap-theme.min.css" rel="stylesheet">我正在为这些链接使用通用文件,我将所有链接保留在 header.php(位于演示文稿/模板/标题.php)
我还在config.php(位于inc/config.php
)中定义了所有路径我已经在配置中定义了路径.php如下所示

// SITE_ROOT contains the full path to the RichTongue folder
define('SITE_ROOT', dirname(dirname(__FILE__)));
// Application directories
define('PRESENTATION_DIR', SITE_ROOT . '/Presentation/');
define('TEMPLATE_DIR', PRESENTATION_DIR.'Template/');
define('BUSINESS_DIR', SITE_ROOT . '/Business/');
define('CSS_DIR', SITE_ROOT. '/css/');
define('FONT_DIR', SITE_ROOT . '/fonts/');
define('IMAGE', SITE_ROOT . '/images/');
define('JS', SITE_ROOT . '/js/');


所以我尝试通过以下方式链接 CSS
<link href="<?php echo CSS_DIR ?>bootstrap.min.css" rel="stylesheet" >
现在上面的代码在 chrome 中给了我一个错误,上面写着
Not allowed to load local resource: file:///C:/xampp/htdocs/RichTongue/css/bootstrap.min.css home.php:13


现在上面错误(file:///C:/xampp/htdocs/RichTongue/css/bootstrap.min.css)中的路径是正确的,但它没有加载文件并给出错误(上面指定的错误)
Q)我该怎么办?在PHP中链接CSS和JS文件的正确方法是什么?需要帮助

为 SITE_ROOT 设置 URl 路径

如果你的项目路径是 C:/xampp/htdocs/RichTongue/css/bootstrap.min.css

所以用下面的行改变

define('SITE_ROOT', 'http://localhost/RichTongue');

用绝对路径链接你的css和其他资源似乎是你很容易的解决方案。

绝对路径来自您网站的根目录:C:/xampp/htdocs/RichTongue

您可以使用/css/bootstrap.min.css而不是file:///C:/xampp/htdocs/RichTongue/css/bootstrap.min.css

所以你必须修改

define('CSS_DIR', SITE_ROOT. '/css/');

define('CSS_DIR', '/css/');

其他资源(JS、字体等)也是如此。

示例结果:

<link href="/css/bootstrap-theme.min.css" rel="stylesheet">

假设如果你有一个名为css的文件夹,你可以像这样使用真实路径:

define('CSS_DIR', realpath(dirname(__FILE__).'/css'));

然后,您将像这样使用该常量路径:

echo CSS_DIR."/style.css"; 

尝试以这种方式使用它:

$SITE_FOLDER_NAME = "demo/";
define('SITEURL', 'http://'.$_SERVER['SERVER_NAME'].'/'.$SITE_FOLDER_NAME);
define('SITEURL_CSS', SITEURL.'css/');

./assets/CSS/filename.css为我做了这项工作。