实现首页轮播图自动化-节假日自动更换
在主题美化的时候需要一些首页轮播图,先前设置了随机图片,包括搭建简单的随机图片API,后来发现每次更换图片都需要操作,如何实现一劳永逸,让他自己更换呢?
实现梳理:
- 能够到节假日自动更换为相关的图片
- 而且图片要一直存在,不能第二天这张图片就没有了,所以简单的判断就不能用了
问题解决:
- 参照随机图片API的搭建方法,通过获取文本中的链接输出图像
- 通过更改文本链接的方式实现图像更换
这样就能让一张图片只要不更换链接图片就一直是之前的那一张,实现了长期存在。
遇到的坑:
- 刚开始的时候用的简单的判断,发现第二天无法显示了,原来是当前日期不在判断列表中。修改文本中的链接前需要更改你的
- 文本文件在服务器中的权限,如果是root拥有,那么用W方法就无法对文本进行修改
文本权限问题拖了我很久的时间,最后才发现这个问题
实现方法:
- 在根目录新建test.txt放置图像的链接
- 根目录新建test.php放置下方代码
- 在需要的地方输入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]) ;
}
?>
空空如也!