PHP随机变换背景图片

今天加入了Typecho,也找了一个很酷的主题。

于是萌发出一个随机变化背景图片的想法搭配这个主题一定时相当的酷啊!!

鉴于本人是个渣渣于是又利用起万能的互联网找到了一些方法实现如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?php
/**
 * 随机图片
 */
$arr =array(
"1" => "https://dn-lvmo.qbox.me/img%2Flvmoo%2Fbk1.jpg",
"2" => "https://dn-lvmo.qbox.me/img%2Flvmoo%2Fbk2.jpg",
"3" => "https://dn-lvmo.qbox.me/img%2Flvmoo%2Fbk3.jpg",
"4" => "https://dn-lvmo.qbox.me/img%2Flvmoo%2Fbk4.jpg",
"5" => "https://dn-lvmo.qbox.me/img%2Flvmoo%2Fbk5.jpg",
"6" => "https://dn-lvmo.qbox.me/img%2Flvmoo%2Fbk6.jpg",
"7" => "https://dn-lvmo.qbox.me/img%2Flvmoo%2Fbk7.jpg",
"8" => "https://dn-lvmo.qbox.me/img%2Flvmoo%2Fbk8.jpg",
"9" => "https://dn-lvmo.qbox.me/img%2Flvmoo%2Fbk9.jpg",

);
$r =rand(1,count($arr));
//echo $arr[$r]
?>

在需要的地方使用代码:

1
<img src="<?php echo $arr[$r] ?>">

以上代码通用所有的php的程序,wordpress或者typecho等等。 原理就是先设置一个有关图片地址的URL路径的数组,再用随机函数随机取到里面的值,最后调用数组。

效果见本博客。

可能有些同学对div不是很熟悉,下面提供出div

style="position:fixed;top:0;left:0;bottom:0;z-index:-1;height:100%;width:100%;"

这个div属性为固定在窗口,在底层显示,图片大小满屏。 (http://www.blogfeng.com/random-img.html)


接下来我又找到了"Typecho 网站背景按时间段自动更换" 大概是这样实现的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php date_default_timezone_set('Etc/GMT-8'); //转换服务器时间,一般的服务器时间是格林威治时间和北京时间相差8小时,可以根据实际情况修改
$hour = date('H');
if ($hour < 7 ) {
$image = "图片地址一";  //7点以前显示的图片
}
elseif ($hour < 18 ) {
$image = "图片地址二";  //下午6点以前显示的图片
}
else {
$image = "图片地址三";  //下午6点以后显示的图片
}
?>

调用如下:

1
<?php echo $image ?>

当然这也可以用于整个模板风格的变换,灵活运用即可…… 好吧,下面木头同学说不会用,那再多打几个字吧,比如:

在header.php中

<link rel="stylesheet" href="<?php $this->options->themeUrl('style.css'); ?>" />

这一行之后,(也就是载入样式之后)再写上刚才的代码,额~或者你可以这么写:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php date_default_timezone_set('Etc/GMT-8'); 
$hour = date('H'); 
if ($hour < 7 ) { 
$style = 1; 
} 
elseif ($hour < 18 ) { 
$style = 2;  
} 
else { 
$style = 3; 
} 
?>

继续小白性质的解说: 那么在不同时段里变量$style就有了不同的值;下面再通过调用样式来用上这个值:

<link rel="stylesheet" href="<?php $this->options->themeUrl('css/'); ?><?php echo $style ;?>.css" />

那么现在,在你主题目录下就该有个CSS文件夹,里面有1.css,2.css,3.css……当然还可以更多,你可以把需要“根据时间而不同的地方”在这个对应的css文件里写。这样说得够清楚了吧。 甚至,你还可以这样:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php date_default_timezone_set('Etc/GMT-8'); 
$hour = date('H'); 
if ($hour < 7 ) { 
<?php include('include/theme1.php');?>
} 
elseif ($hour < 18 ) { 
<?php include('include/theme2.php');?>
} 
else { 
<?php include('include/theme3.php');?>
} 
?>

像这样单独文件的来调用,那么这里面可以写的东西可就更多,更具可变性了,你可以在里面写不同的模块,独立的板式,甚至… 好吧,这样说应该很彻底了吧,阿门……

原文地址《Typecho 网站背景按时间段自动更换》

Licensed under CC BY-NC-SA 4.0
最后更新于 Dec 03, 2017 16:12 UTC
点击刷新🚌