2011-08-02 52 views
1

我用這個函數來設置cookie整個域名:PHP的setcookie整個域名

setcookie("tuittingID", $random, mktime(0, 0, 0, 12, 31, 2015), '/', '.domainname.com'); 

現在的問題是,我不知道什麼domainname.com會,因爲這個腳本會不同的人使用不同的域名。

我有最好的辦法做同樣的事情,但沒有客戶端編輯該行。

有沒有辦法?

請讓我知道。

回答

1

檢查$_SERVER超全局。它包含地址的各個部分(例如在$_SERVER['HTTP_HOST']),儘管您可能仍然需要自己做一些切割。您可以使用.將主機名分解爲數組。作爲分隔符。結合最後兩項,您將獲得域名(SLD + TLD)。

如果要將此代碼用作庫,那麼我會向用戶(庫的用戶)提供使用完整域,僅使用第二級域或自定義設置的可能性。

+0

這變得像'foo.co.uk'域自動痛苦。 – Yahel

+0

是的。如果您願意,您可以創建一個例外列表(帶有固定SLD的TLD),但將其定製是一件好事。 – GolezTrol

0
setcookie("tuittingID", $random, mktime(0, 0, 0, 12, 31, ".".$_SERVER['HTTP_HOST']); 
1

您正在尋找$_SERVER['HTTP_HOST']

0

你需要做這樣的事情來設置域名:

setcookie(name, value, expire, path, preg_replace('/www/','',$_SERVER['HTTP_HOST']));