首页 > 解决方案 > 在 php 中设置外部 css/js/jpg 文件的过期时间

问题描述

我们如何在 php.ini 中设置外部 css、js 和图像的过期时间。

我尝试了以下步骤,但我有问题。

在外部文件之前 -

<script type="text/javascript" src="https://ssl.google-analytics.com/ga.js"></script>

下一步是创建一个 .php 文件。我们称之为externaljs.php。在其中插入以下代码:

<?php
$files = array(
'ga.js' => 'https://ssl.google-analytics.com/ga.js',
'bsa.js' => 'https://s3.buysellads.com/ac/bsa.js',
'pro.js' => 'https://s3.buysellads.com/ac/pro.js');
if(isset($files[$_GET['file']])) {
if ($files[$_GET['file']] == 'ga.js'){
    header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + ((60 * 60) * 48))); // 2 days for GA
} else {
    header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + (60 * 60))); // Default set to 1 hour
}
echo file_get_contents($files[$_GET['file']]);
}
?>

我们将文件名作为查询参数发送给 php 文件,并且可以设置过期时间。

<script type="text/javascript" src="externaljs.php?file=ga.js"></script>

现在利用浏览缓存显示 externaljs.php 文件未设置过期时间

请给我们建议。

标签: javascriptphp

解决方案


你最好用 htaccess 文件来做。参考链接https://gtmetrix.com/leverage-browser-caching.html


推荐阅读