PHP setcookie为整个域名

时间:2011-08-02 22:21:41

标签: php setcookie

我使用此功能为整个域名设置cookie:

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

现在的问题是我不知道domainname.com会是什么,因为不同的人会在不同的域名上使用此脚本。

我找到了一种方法来做同样的事情,但没有让客户编辑该行。

有办法吗?

请告诉我。

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

检查$_SERVER超全球。它包含地址的各个部分(例如在$_SERVER['HTTP_HOST']中),尽管您可能仍需要自己做一些切割。您可以使用.将主机名分解为数组。作为分隔符。结合最后两项,您将获得域名(SLD + TLD)。

如果要将此代码用作库,我会为(库的)用户提供使用完整域,仅使用二级域或自定义设置的可能性。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您需要执行以下操作来设置域名:

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