isudng
V2EX  ›  PHP

想实现网站背景每天更换一个,求助

  •  
  •   isudng · Nov 29, 2013 · 6325 views
    This topic created in 4724 days ago, the information mentioned may be changed or developed.
    最近做一个小的在线社区网站,选用的wecenter作为核心。
    想网站每天更换一个背景图片。
    例如:11月30日是图片a,31日是图片b,12月1日是图片c……
    我会上传一批量的图片到服务器中命名为20131130.jpg / 20131131.jpg / 20131201.jpg什么的。
    初步打算的是css背景指向一个php地址,然后这个php文件再根据日期指向不同的jpg图片。
    不知道这样行得通不。
    不熟悉代码,望大神们指点一下。

    网站地址:x.ronsir.com 有更新了会回报v2ex社区的。
    -----------------------
    另外还有想法就是网站白天的背景图片和晚上不一样。但是先实现上面的再说吧。
    19 replies  •  2017-08-15 12:24:28 +08:00
    jingwentian
    jingwentian
    Nov 29, 2013❤️1
    1
    1. 你的背景图片, 在大分辨率显示器上显示被平铺了...
    2. 既然你把图片以图片命名了,那就在链入图片的时候以 当前日期.jpg 拼接一下路径就得了
    icevil
    icevil
    Nov 29, 2013❤️1
    2
    css 通常会缓存的,
    但为了这个特意设置 css 强制不缓存没必要。

    建议 js 实现,没必要再写一个 php 判断。
    skydiver
    skydiver
    Nov 29, 2013
    3
    css背景指向一个php地址,这样缓存策略比较麻烦吧,毕竟地址url一样。

    最好还是在css拼一下图片名字。
    shunai
    shunai
    Nov 29, 2013❤️1
    4
    slixurd
    slixurd
    Nov 29, 2013
    5
    缓存不用担心吧= =
    css指向的地址后面用js添加随机数(当然也可以php加,实现稍有不同而已,例如main.css?123
    chloerei
    chloerei
    Nov 29, 2013❤️1
    6
    用脚本输出一小段 <style></style>
    niseter
    niseter
    Nov 29, 2013
    7
    还不如用cron逐个替换文件算了。。。
    myljs
    myljs
    Nov 29, 2013❤️1
    8
    既然都已经有命名了,用 JS ,当用户访问的时候,获取今天的日期组合成今天图片的 url,然后输出 style 标签不就可以了?
    n0rmrx
    n0rmrx
    Nov 29, 2013 via iPhone❤️1
    9
    我尝试过根据关键词从flickr上抓图片做背景,效果好赞!
    n0rmrx
    n0rmrx
    Nov 29, 2013 via iPhone
    10
    每个用户看到的图片都是实时抓的,处理一下加载失败的。:)
    hoosin
    hoosin
    Nov 29, 2013
    11
    @icevil 加时间戳就行啊!
    icevil
    icevil
    Nov 29, 2013
    12
    @hoosin
    你说的就是我所指的「特意设置强制不缓存」的一种实现啊。
    你这样客户端每次访问都要传输一次 css 文件。
    浪费客户端和服务器流量啊,所以我说没必要啊。

    反正 lz 图片文件名是确定的,用 js 获取当前日期再操作 DOM 设置背景图片不更好么?
    chairuosen
    chairuosen
    Nov 29, 2013❤️1
    13
    对,js拼一下设置背景就行
    wdlth
    wdlth
    Nov 29, 2013
    14
    js改一下background-image就够了吧。
    isudng
    isudng
    OP
    Nov 30, 2013
    16
    @jingwentian 现在好了,实现功能了,背景弄成了cover,不过默认情况下左边在chrome下会有一条白色竖线,不知道怎么回事。定义成top left竖线挪到右边,勉强过关。谢谢
    isudng
    isudng
    OP
    Nov 30, 2013
    17
    @ccbikai 那代码看着貌似行,拿过来不会用,囧,试了试不行,应该是我代码编辑出错吧。mark一下以后学习,感谢。
    dappbujiujiu
    dappbujiujiu
    Dec 10, 2013
    18
    简单看了下~ 其实基于你的需求 有好几种解决方案~
    一个就是用js改background-image这种方法~ 但是每次都用加载调用此js方法,没有必要的损耗,
    还有我个人推荐 就是在你的样式里固定 写死比如 background-image:static/img/bgimag.jpg
    自己写个shell或什么的脚本 crontab 定在每日凌晨,去把对应日期的背景图片进行覆盖
    insoxin
    insoxin
    Aug 15, 2017 via Android
    19
    网站挂了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3019 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 11:36 · PVG 19:36 · LAX 03:36 · JFK 06:36
    ♥ Do have faith in what you're doing.