PHP поможет с изменением источника изображения в зависимости от даты? - PullRequest
0 голосов
/ 10 декабря 2010

Что я хочу сделать, это показать три изображения.Изображения, которые появляются, зависят от месяца.Должно быть изображение за предыдущий месяц, текущий месяц и следующий месяц.

Это то, что у меня есть ..

  //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 лет, поэтому я действительно ржавый!любая помощь?

Я хотел бы, чтобы он подключился к изображениям с именем "de December_2011.jpg"

Ответы [ 2 ]

2 голосов
/ 10 декабря 2010

Этот кусок кода:

//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"/>';

Чтобы помочь вам в том, что он отображает, вот пример кодовой панели .

1 голос
/ 10 декабря 2010

В отличие от многих других языков . является оператором конкатенации, а не синтаксисом для 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"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...