我目前正在一个有 6 个 CSS 文件的网站上工作。我想制作一个扫描目录并在 de HTMl 头中加载所有 CSS 文件的 php 函数。我在索引页面上得到了这个工作,但是当我转到另一个页面时它就不起作用了。这是因为它正在从不同的位置搜索 CSS 文件夹。需要明确的是,在根文件夹中,我有一个名为 Header.php、index.php 和 Footer.php 的文件。header.php 文件包含 HTML 头部和网站顶部的导航栏/菜单。header.php 用这一行加载到每个页面中require "header.php"; 上层页面的文件路径发生变化,例如“关于我们”页面中的文件路径如下所示require "../../header.php";我可以通过为每个 sup 目录创建函数来解决问题,但这不是正确的方法(至少我认为)。这是我当前的 php 函数:function css(){ $css = glob("CSS/*.css"); $css_out = ""; foreach($css as $css_path){ $css_out .= '<link rel="stylesheet" href="'.$css_path.'">'; } return $css_out;}我在页面顶部有这个,只是失去了要求标题$css_web = css();我加载实际数据 <?php echo $css_web?>
2 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
使用绝对 URL 而不是相对 URL。
代替
$css_out .= '<link rel="stylesheet" href="'.$css_path.'">';
和
//$assets_url = "http://example.com/assets/css/";
$css_out .= '<link rel="stylesheet" href="'.$assets_url.'.'.$css_path.'">';
潇湘沐
TA贡献1816条经验 获得超6个赞
做得更好,不再需要任何进一步的请求!
遍历文件,抓取内容,并将其回显到一个<style>块中!
$css = glob("CSS/*.css");
$css_out = '<style>';
foreach($css as $css_path){
$style = file_get_contents($css_path);
$css_out .= $style;
}
return $css_out . '</style>;
然后在你的脑海中回响:-D
为了保持路径正确,您可以使用__DIR__which 为您提供您所在文件的目录:-),您可以通过将其传递到realpath()
- 2 回答
- 0 关注
- 123 浏览
添加回答
举报
0/150
提交
取消