PHP在index.PHP中包含CSS和JS链接的文件


PHP includes file for CSS and JS links in index.php

如何在另一个php文件(例如"links.php")的索引php中包含带有JS和CSS链接的头部分?

实际上很容易

index.php

<!DOCTYPE html>
<html lang="">
    <head>
        <?php require_once('header.php'); ?>
    </head>
    <body>
        <h1>Hello World</h1>
    </body>
</html>

header.php

echo "<link href='"style.css'" rel='"stylesheet'">";
echo "<script type='"text/javascript'" src='"js.js'"></script>";
echo "<link href='"style2.css'" rel='"stylesheet'">";

试试这个:

Index.php

<html>
    <?php include_once('links.php'); ?>
    <body>
        <!--Your following Code-->
    </body>
</html>

Links.php

<head>
    <link rel="stylesheet" type="text/css" href="styles.css">
    <script type="text/javascript" href="script.js"></script>
</head>

另一个.php

<link rel="stylesheet" type="text/css" href="/css/style.css"/>
<script type="text/javascript" src="/js/jquery.js"></script>

index.php

<html>
<head>
<?php include 'another.php'; ?>
</head>
<body>
// Content goes here
</body>
</html>

一个简单的解决方案是在顶部包含所有文件,并将它们的css文件和脚本文件存储在一个数组中。所以它可能看起来像这样:

links.hp:

return [
    'css' => ['assets/links.css', 'assets/global.css'],
    'js' => ['assets/links.js', 'assets/global.js'],
    'content' => ...
];

index.php:

// this one requires all.css and all.js
$allCss = ['assets/all.css'];
$allJs = ['assets/all.js'];
$links = include('links.php');
$allCss = array_unique(array_merge($allCss, $links['css']));
$allJs = array_unique(array_merge($allJs, $links['js']));
// Do all rendering below this
// render head something like this
foreach ($allCss as $css) { echo "<link rel=... src=$css />" }
// same for js
// render links: e.g. echo $links['content'];

通过这种方式,您可以让每个组件指定它需要的文件,如果两个文件需要相同的css或js文件,则不会两次放入链接标记。

这将要求您拥有某种可以支持此功能的文件结构。我的例子可能不是最好的。

试试这个代码,这是一个简单的演示,适用于您的问题,实现可能会根据需求而有所不同

index.php

<html>
<head>
<?php include('path/to/assets.php') ?>
<link href="path/to/this/page/levelcss.css" rel="stylesheet"/>
<script src="path/to/this/page/levelscript.js" type="text/javascript"></script>
</head>
<body>
     <!--HTML Body goes here -->
</body>
</html>

assets.php

<?php 
echo '<link href="path/to/project/levelscript.js" rel="stylesheet">';
echo '<script src="path/to/project/levelscript.js" type="text/javascript"></script>';
?>