PHP帮助图像源根据日期而变化?

时间:2010-12-10 16:49:48

标签: php variables date

我想要做的是显示三张图片。显示的图像取决于月份。 应该有上个月,当前月份和下个月的图像。

这就是我的......

  //Dates
  $prevDate = date("M Y", strtotime("-1 months"));
  $currDate = date("M Y");
  $nextDate = date("M Y", strtotime("+1 months"));

  $prevMonth = $prevDate.date("M");
$currMonth = $currDate.date("M");
$nextMonth = $nectDate.date("M");

//Years
$prevYear = $prevDate.date("Y");
$currYear = $currDate.date("Y");
$nextYear = $nextDate.date("Y");


  echo '<img src="./images/' + $prevMonth + '_' + $prevYear + '.jpg"/>';

我最终得到的是页面上的“0”。 我没有使用PHP大约2年,所以我真的生锈了!任何帮助?

我希望它能让它连接到名为“december_2011.jpg”的图像

2 个答案:

答案 0 :(得分:2)

这段代码:

//Months
  $prevMonth = date("M");
  $currMonth = date("M");
  $nextMonth = date("M");

将为3个变量赋予相同的值:当前月份:“Dec”

这意味着:

//Years
  $prevYear = $prevMonth.date("Y");
  $currYear = $currMonth.date("Y");
  $nextYear = $nextMonth.date("Y");

也会给你相同的东西:“Dec2010”(.用于PHP中的连接)

最后:

echo '<img src="./images/' + $prevMonth + '_' + $prevYear + '.jpg"/>';

应该是

echo '<img src="./images/'.$prevMonth.'_'.$prevYear.'.jpg"/>';

<强> “”连接而不是像javascript中的“+”

你可以这样解决:

//Dates
$prevDate = date("M_Y", strtotime("-1 months"));
$currDate = date("M_Y");
$nextDate = date("M_Y", strtotime("+1 months"));

echo '<img src="./images/'.$currDate.'.jpg"/>';
echo '<img src="./images/'.$prevDate.'.jpg"/>';
echo '<img src="./images/'.$nextDate.'.jpg"/>';

为了帮助您呈现内容,here is the codepad example

答案 1 :(得分:1)

与许多其他语言不同,.是连接运算符,而不是'member-of'的语法(可能是->)。此外,date的接口无论如何都是程序性的(无对象)。

考虑一下:

function filename_of_time($time) { 
  return '<img src="./images/'.date('M_Y',$time).'.jpg"/>');
}

echo filename_of_time(strtotime("-1 month"));
echo filename_of_time(time());
echo filename_of_time(strtotime("+1 month"));