我在文件夹(1,2,3,4)中每个季节(春夏......)有10个背景。现在我需要随机改变每个赛季的div背景。我的意思是春季变化文件夹1的随机图像。
如何使用PHP或混合jquery / css更改背景?!
答案 0 :(得分:2)
如果您想在每个页面上重新加载随机图像,请在PHP模板文件中包含以下代码段。
$season = 'spring';
function random_pic($season)
{
$dir = 'backgrounds/' . $season;
$files = glob($dir . '/*.*');
$file = array_rand($files);
return $files[$file];
}
答案 1 :(得分:0)
你必须编写自己的代码来检测php中的季节。现有季节没有现有的功能。问题是北半球和南半球的情况不同。
This页面有一个关于如何获得当前赛季的非常好的例子。完成后,您可以使用switch语句选择应选择背景的文件夹。
接下来,您可以使用scandir()查找此文件夹中的所有文件,并使用rand()选择其中一个文件。
最后一部分是将图像放入html中。最简单的方法是使用内联css,但你也可以将路径传递给jQuery脚本并让它处理背景。
答案 2 :(得分:0)
你需要当天跟踪它是否在哪个季节,所以基于此,按照季节从服务器获取文件以应用主题。你将以php / cakephp更好的方式做到。
答案 3 :(得分:0)
我会这样做。获取季节,每个文件夹中都有预定数量的图像,并按以下方式命名:1.jpg,2.jpg,3.jpg:
//Get Season
$month = DATE("m");
$season = "winter";
if ($month >= "03" && $month <= "05")
$season = "spring";
elseif($month >="06" && $month <="08")
$season = "summer";
elseif ($month >= "09" && $month <= "11")
$season = "autumn";
//Generate a random number between 1 and 10 (change to match your range of backgrounds)
$random_number = rand (1, 10);
$image_path = "backgrounds/" . $season . "/" . $random_number . ".jpg";
// Print into tag, CSS code, etc
echo "Image path: " . $image_path;