2012-07-13 37 views
0

我的目標是根據星期幾和用戶來自的鏈接換出背景圖片。基於日期和網址的PHP圖像交換

例如:

星期一的index.php = bg1.jpg

星期一,about.php = bg2.jpg

星期二的index.php = bg3.jpg

星期二,about.php = bg4.jpg

這是我的開關,處理一週的情況,但不知道如何從這裏去:

<?php 

// Variables 
$url = "images/days/"; 
$monImage = "$url"."bg_mon_a.jpg"; 
$tueImage = "$url"."bg_tue_a.jpg"; 
$wedImage = "$url"."bg_wed_a.jpg"; 
$thurImage = "$url"."bg_thu_a.jpg"; 
$friImage = "$url"."bg_fri_a.jpg"; 
$weekendImage = "$url"."bg_default.jpg"; 
$d = date("D"); 
//Function that switches between date images based on the actual day of the week in $d 
switch ($d) 
{ 
case Mon: 
echo "<img id='bg_image' src=$monImage>\n"; 
break; 
case Tue: 
echo "<img id='bg_image' src=$tueImage>\n"; 
break; 
case Wed: 
echo "<img id='bg_image' src=$wedImage>\n"; 
break; 
case Thu: 
echo "<img id='bg_image' src=$thurImage>\n"; 
break; 
case Fri: 
echo "<img id='bg_image' src=$friImage>\n"; 
break; 
default: 
echo "<img id='bg_image' src=$weekendImage>\n"; 
} 
//End 
?> 
+0

你遇到問題的部分究竟是什麼?爲交換機添加額外的標準,或獲取引用鏈接的名稱?如果沒有引用鏈接,你會做什麼? – andrewsi 2012-07-13 18:14:18

回答

2

爲了讓鏈接點擊來到您的網站,你正在尋找存儲在$_SERVER變量中的HTTP_REFERRER

嘗試回顯:echo $_SERVER['HTTP_REFERRER'];,您將看到將該人員發送到您網站的網站網址。

我認爲這是你所問的,但如果不是這樣,你需要澄清一點。

現在只要走圖片:

$img='bg_'.strtolower(date("D")).'_a.jpg'; 

只要確保你改變你的週末圖像名稱satsun

希望有所幫助。

1

我覺得你已經過於複雜了。

$bgimage = 'bg_' . date ("D") . '.jpg'; 
echo '<img src="images/' . $bgimage . '">'; 

然後,只需確保你有7個文件,每天一個:

bg_Mon.jpg 
bg_Tue.jpg 
etc... 
1

試試這個:

echo "<img id='bg_image' src='images/days/bg_". strtolower(date("D")) ."'>\n"; 
+0

與我發佈的內容基本相同......但不要忘記那裏的'.jpg'。 :) – 2012-07-13 18:16:34

1

,如果這是你想要的背景圖像,也許你需要像

echo "<div id='div_with_background' style='background: url($weekendImage)'>\n"; 
echo 'some content'; 
echo '</div>'; 

另外,如果你想測試用戶來自的鏈接,上$_SERVER['HTTP_REFERER']做一個開關,但請記住,$_SERVER['HTTP_REFERER']不能保證讓用戶來自真正的網址。