如何在PHP中每两周显示不同的图像?

时间:2011-10-29 22:50:23

标签: php

如何每2周显示一张不同的图像?我有8张图像可供显示,就像这样。 第1周image1 第2周image1 第3周image2 第4周image2 ... 第17周image1


<?php
$check=date('W');
    $img1 = array ('1','2','11','12','21','22','31','32','41','42','51','52');
    $img2 = array ('3','4','13','14','23','24','33','32','43','44');
    $img3 = array ('5','6','15','16','25','26','35','36','45','46');
    $img4 = array ('7','8','17','18','27','28','37','38','47','48');
    $img5 = array ('9','10','19','20','29','30','39','40','49','50');
    if (in_array($check,$img1,true)){
    echo "show img1";
    }
    if (in_array($check,$img2,true)){
    echo "show img2";
    }
    if (in_array($check,$img3,true)){
    echo "show img3";
    }
    if (in_arrat($check,$img4,true)){
    echo "show img4";
    }
    if (in_array($check,$img5,true)){
    echo "show img5";
    }
    ?>

这是对的吗?可以改进吗?

4 个答案:

答案 0 :(得分:2)

您可以使用date功能中的W参数。它给你一周的数量 - 使用mod(%),你可以检查它是否与图像的数量分开并显示它

答案 1 :(得分:2)

  • 有53周(W为1-53)。
  • 图片应每两周更换一次。
  • 有8张图片。

示例代码:

$week = date('W');
$changes = (int)(($week-1)/2);
$image = $changes % 8 + 1;

printf("Week: %d, Images changed: %d, Current Image: %d\n"
       , $week, $changes, $image);

答案 2 :(得分:1)

将图像路径保存到文件中,每次调用该函数时检查上次修改的文件,如果上次修改了&gt; 2周后,打开文件,将图像移到底部,保存文件。

答案 3 :(得分:1)

查看PHP日期功能。它将为您提供一个星期编号,您可以在逻辑中使用它来查找要显示的图片。