【问题标题】:PHP - Stop image from caching when selected using array_randPHP - 使用 array_rand 选择时停止缓存图像
【发布时间】:2021-07-11 07:15:09
【问题描述】:

我有一组图像,我正在使用array_rand 选择一个随机图像,然后将其用作 div 的背景。

我尝试为图像添加时间戳,但我似乎正在缓存数组部分变量,因为图像不会改变,只有时间戳。

$section = array_rand($img_arr);

<div style="background: url('<?php echo $img_arr[$section]['image'] . '?t=' . time(); ?>');">

编辑:它正在进行非缓存测试。

【问题讨论】:

  • 我认为您需要进一步调查。转储 $section 变量。看不出代码有什么问题
  • 它正在使用非缓存版本。

标签: php caching


【解决方案1】:

HTML 不能缓存 PHP 变量,用作 php 数组中的键。 如果是这样,它已经变成了一个 HTML 字符串,并且在解释过程中一定有错误。查看 nginx/apache 的错误日志。

您也可以尝试不带单引号的 CSS url() 定义,因为它不需要引号。

<?php $section = array_rand($img_arr); ?>

<div style="background: url(<?php echo $img_arr[$section]['image'] . '?t=' . time(); ?>);">

【讨论】:

    猜你喜欢
    • 2013-11-08
    • 2017-04-30
    • 1970-01-01
    • 2019-04-19
    • 2015-11-06
    • 2014-06-08
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    相关资源
    最近更新 更多