2017-06-23 111 views
0

我正在處理一個小腳本來根據日期顯示某些圖像。 這是我遠了,我不得不說,我真的認爲這是可行的:根據日期的PHP顯示圖像

<?php 
$events = array(
array(
    'image' => 'img/summer.png', 
    'start' => '01-05-2017', 
    'end' => '01-09-2017' 
), 
array(
    'image' => 'img/christmas.png', 
'start' => '01-12-2017', 
'end' => '31-12-2017' 
) 
); 

foreach($events as $event) { 
if(date('d-m-Y') >= $event['start'] && date('d-m-Y') <= $event['end']) { 
    echo "<img src='".$event['image']."'>"; 
} 
} 
?> 

我想添加儘可能多的陣列我想,萬一我需要顯示在特定日期的更多圖片。我認爲這應該工作,但它只是返回一個空白頁。任何想法,爲什麼它不會工作?

+1

你檢查了頁面的源代碼嗎?你確定圖像不存在,你只是有斷鏈接? –

+0

應該工作得很好:http://sandbox.onlinephpfunctions.com/code/cc9a85d34fec9edf6eebdb4bac01becbedfb0264作爲@JulienLachal說,可能只是一個斷開的鏈接 – caramba

+1

它不能正常工作嘗試使用strtotime與日期比較 – anju

回答

2

那麼你需要將日期轉換爲strtotime,同時比較日期,以便獲得可接受的結果。否則將進行錯誤的比較

$events = array(
array(
    'image' => 'img/summer.png', 
    'start' => '01-05-2017', 
    'end' => '01-09-2017' 
), 
array(
    'image' => 'img/christmas.png', 
'start' => '01-12-2017', 
'end' => '31-12-2017' 
) 
); 
$date_to_compare=strtotime(date('d-m-Y')); 
foreach($events as $event) { 
if($date_to_compare >= strtotime($event['start']) && $date_to_compare <= strtotime($event['end'])) { 
    echo "<img src='".$event['image']."'>"; 
} 
} 
+0

這樣做!謝謝! – zorensen

+0

謝謝你的這段代碼!我正在尋找類似的東西。是否也可以結合代碼和不檢查年份?例如(在你的例子中)你也可以對它進行檢查。但我希望它也檢查沒有一年的日期(聖誕節,生日,並且總是在同一天)。例如,特別的事情,世界/歐洲足球錦標賽是在特定的日期。我希望你明白我的意思? – Joanne

+1

是的,它也有可能。但您需要提供代碼以進一步解決問題 –