php - 在 PHP 中加载 include 时忽略 CSS 文件

标签 php html css

我正在编写自己的 MVC 实现,但我遇到了包含本地 CSS 文件的问题。基本上,我的应用程序中的所有请求都会转到一种方法,该方法正在分解它们以获得 Controller 和操作。例如:

localhost:8888/items/list 这个请求将被重定向到我的 index.php,我有:

Application::start($_SERVER['REQUEST_URI']);

然后请求被分解得到 Controller 'items'和action'list' 到目前为止一切都很好,我没有意识到这个问题,因为我使用的是来自 CDN 的 Bootstrap 。但是现在如果我在我的 html 中包含如下内容:

   <link rel="stylesheet" type="text/css" href="/css/style.css">

这又要到我的方法里去,不行。 我尝试的是检查 URI 是否包含“css”,以及它是否只包含文件:

if(preg_match('/css/',$uri)){
include "../webroot/$uri";}

这在加载 css 方面有效,但 css 被忽略了。我也明白了

“资源解释为样式表但使用 MIME 类型文本/html 传输:” http://localhost:8888/css/style.css “。”

如果我尝试包含图像,那么问题就更大了,尽管至少我可以通过“包含”来显示图像,但仍然可以显示它们。任何想法如何解决这个问题?

P.S 我知道这个问题很可能是因为 css 是作为文本文件加载的,但是我不知道如何使用我当前的设置让它工作

最佳答案

尝试 header("Content-type: text/css; charset: UTF-8"); 使用 file_get_contents 而不是像这样包含

if(preg_match('/css/',$uri)){
  header("Content-type: text/css; charset: UTF-8");
  if(!$file = file_get_contents("http://localhost:8080/project_name/webroot/$uri")) return 0;
  echo $file;
}

关于php - 在 PHP 中加载 include 时忽略 CSS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45119809/

相关文章:

php - 当我运行此代码时出现解析错误 : syntax error, 文件意外结束

javascript - 如何用JS输出显示在外部网页上的值

jQuery mmenu Windows Phone 问题(IE Mobile)

css - 我如何找到影响此 div 宽度的因素? CSS

PHP 类使用与特征函数相同的名称

PHP linux crontab 导出mysql数据到Excel

php - 安全地提供图像

javascript - 使用 JavaScript 将 PHP 值传递到另一个页面时出错

javascript - 如何让 iframe 从父页面使用 css 和 javascript?

用于类似 Google 文档的文本评论的 CSS