php - Insert photos into calendar -
im trying create calendar in php , want selected month display picture (e.g. 1 january, february , on). want pictures extracted folder called 'months'. how do that?
this code:
<?php class calendar { var $events; function calendar($date) { if(empty($date)) $date = time(); define('num_of_days', date('t',$date)); define('current_day', date('j',$date)); define('current_month_a', date('f',$date)); define('current_month_n', date('n',$date)); define('current_year', date('y',$date)); define('start_day', (int) date('n', mktime(0,0,0,current_month_n,1, current_year)) - 1); define('columns', 7); define('prev_month', $this->prev_month()); define('next_month', $this->next_month()); $this->events = array(); } function prev_month() { return mktime(0,0,0, (current_month_n == 1 ? 12 : current_month_n - 1), (checkdate((current_month_n == 1 ? 12 : current_month_n - 1), current_day, (current_month_n == 1 ? current_year - 1 : current_year)) ? current_day : 1), (current_month_n == 1 ? current_year - 1 : current_year)); } function next_month() { return mktime(0,0,0, (current_month_n == 12 ? 1 : current_month_n + 1), (checkdate((current_month_n == 12 ? 1 : current_month_n + 1) , current_day ,(current_month_n == 12 ? current_year + 1 : current_year)) ? current_day : 1), (current_month_n == 12 ? current_year + 1 : current_year)); } function getevent($timestamp) { $event = null; if(array_key_exists($timestamp, $this->events)) $event = $this->events[$timestamp]; return $event; } function addevent($event, $day = current_day, $month = current_month_n, $year = current_year) { $timestamp = mktime(0, 0, 0, $month, $day, $year); if(array_key_exists($timestamp, $this->events)) array_push($this->events[$timestamp], $event); else $this->events[$timestamp] = array($event); } function makeevents() { if($events = $this->getevent(mktime(0, 0, 0, current_month_n, current_day, current_year))) foreach($events $event) echo $event.'<br />'; } function makecalendar() { echo '<table border="1" cellspacing="4"><tr>'; echo '<td colspan="7" style="text-align:center"> <img src= \"img/months/$month.jpg\" > </td>'; echo '</tr><tr>'; echo '<td width="30"><a href="?date='.prev_month.'"><<</a></td>'; echo '<td colspan="5" style="text-align:center">'.current_month_a .' - '. current_year.'</td>'; echo '<td width="30"><a href="?date='.next_month.'">>></a></td>'; echo '</tr><tr>'; echo '<td width="30">mon</td>'; echo '<td width="30">tue</td>'; echo '<td width="30">wed</td>'; echo '<td width="30">thu</td>'; echo '<td width="30">fri</td>'; echo '<td width="30">sat</td>'; echo '<td width="30">sun</td>'; echo '</tr><tr>'; echo str_repeat('<td> </td>', start_day); $rows = 1; for($i = 1; $i <= num_of_days; $i++) { if($i == current_day) echo '<td style="background-color: #c0c0c0"><strong>'.$i.'</strong></td>'; else if($event = $this->getevent(mktime(0, 0, 0, current_month_n, $i, current_year))) echo '<td style="background-color: #99ccff"><a href="?date='.mktime(0,0,0,current_month_n,$i,current_year).'">'.$i.'</a></td>'; else echo '<td>'.$i.'</td>'; if((($i + start_day) % columns) == 0 && $i != num_of_days) { echo '</tr><tr>'; $rows++; } } echo str_repeat('<td> </td>', (columns * $rows) - (num_of_days + start_day)).'</tr></table>'; } } $epcmonthpic = date("m", mktime(0,0,0,$mo)); //change "f" "m" if want use numbers $epcimagepath = "/img/"; // path monthly images (keep trailing slash) $epcimageext = "jpg"; // extension you'll using images echo "<img src=\"$epcimagepath$epcmonthpic.$epcimageext\">"; $month = $_request["month"]; $cal = new calendar($_get['date']); $cal->makecalendar(); ?>
in method makecalendar() fix line:
echo '<td colspan="7" style="text-align:center"> <img src= \"img/months/$month.jpg\" > </td>'; with:
echo '<td colspan="7" style="text-align:center"> <img src="img/months/' . current_month_n . '.jpg" > </td>'; and make sure images exists:
img/months/1.jpg img/months/2.jpg ... img/months/12.jpg
Comments
Post a Comment