实现首页轮播图自动化-节假日自动更换

在主题美化的时候需要一些首页轮播图,先前设置了随机图片,包括搭建简单的随机图片API,后来发现每次更换图片都需要操作,如何实现一劳永逸,让他自己更换呢?

实现梳理:

  • 能够到节假日自动更换为相关的图片
  • 而且图片要一直存在,不能第二天这张图片就没有了,所以简单的判断就不能用了

问题解决:

  • 参照随机图片API的搭建方法,通过获取文本中的链接输出图像
  • 通过更改文本链接的方式实现图像更换

这样就能让一张图片只要不更换链接图片就一直是之前的那一张,实现了长期存在。

遇到的坑:

  • 刚开始的时候用的简单的判断,发现第二天无法显示了,原来是当前日期不在判断列表中。修改文本中的链接前需要更改你的
  • 文本文件在服务器中的权限,如果是root拥有,那么用W方法就无法对文本进行修改

文本权限问题拖了我很久的时间,最后才发现这个问题

实现方法:

  1. 在根目录新建test.txt放置图像的链接
  2. 根目录新建test.php放置下方代码
  3. 在需要的地方输入https://你的域名/test.php即可

实现代码:

<?php
//使用date方法获取当前的月(m),日(d) ;
switch(date("m,d")){
  //国庆
  //设置节气具体日期,然后执行修改和获取的操作
  case "10,01" ;
  //用W方式打开文件,  如果无法打开就停止执行
  $imagefile = fopen("放链接的文本名称,如:test.txt", "w") or die("Unable to open file!");
  //设置需要改的链接
  $txt = "这里设置当天需要改的图像链接";
  //通过fwrite方法(文件名,修改的值)
  fwrite($imagefile, $txt);
  //关闭文件
  fclose($imagefile);
  //设置img值的来源
  $img=file('放置图像链接的文本名称如:test.txt') ;
  //设置随机,可忽略
  $url =array_rand($img);
  //输出图片
  header("Location:".$img[$url]) ;
  break ;
?>

问题解决

如果发现步骤方法没有问题,结果还是没有改变图像显示,那么建议更改放置图像链接文本的权限,设置为rw-rw-rw-rw

改进版

此次改进了上次的节气更换图片代码。整体思路不变;

搭建方法同上,下面直接贴上代码:

<?php
//获取当前时间
$t=date("m,d");
  //国庆
if($t== "10,01"){
  $myfile = fopen("放置图片链接的文本文件位置", "w") or die("Unable to open file!");
//修改文本中的链接为下面这个链接
  $txt = "需要修改的图片链接";
  fwrite($myfile, $txt);
  fclose($myfile);
  $img=file('放置链接的文本位置') ;
  $url =array_rand($img);
//输出图像
  header("Location:".$img[$url]) ;
}elseif($t=="10,08"){
  $myfile = fopen("同上","w") or die("Unable to open file!") ;
  $txt = "同上" ;
  fwrite($myfile,$txt) ;
  fclose($myfile) ;
  $img = file('放置链接的文本位置') ;
  $url = array_rand($img) ;
  header("Location:".$img[$url]) ;
//如果当前时间不在判断列表则显示文本中的链接,也就是最近显示过的那个图
  }else{
$img = file('放置链接的文本位置') ;
$url = array_rand($img) ;
header("Location:".$img[$url]) ;
} 
?>
消息盒子
# 您需要首次评论以获取消息 #
# 您需要首次评论以获取消息 #

只显示最新10条未读和已读信息