PHP setcookie для всего доменного имени - PullRequest
1 голос
/ 03 августа 2011

Я использую эту функцию для установки файла cookie для всего доменного имени:

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

Теперь проблема в том, что я не знаю, что будет domainname.com, так как этот скрипт будет использоваться разнымилюди на разных доменных именах.

Я должен найти способ сделать то же самое, но без того, чтобы клиент редактировал эту строку.

Есть ли способ?

Позвольтея знаю, пожалуйста.

Ответы [ 4 ]

1 голос
/ 03 августа 2011

Вы ищете $_SERVER['HTTP_HOST']

1 голос
/ 03 августа 2011

Проверьте $_SERVER суперглобальный. Он содержит различные части адреса (например, в $_SERVER['HTTP_HOST']), хотя вам, возможно, все же придется порезаться самостоятельно. Вы можете разбить имя хоста в массив, используя .. в качестве разделителя. Объединяя два последних элемента, вы получаете доменное имя (SLD + TLD).

Если этот код будет использоваться в качестве библиотеки, я бы предложил пользователю (библиотеки) возможность использовать полный домен, только домен второго уровня или пользовательские настройки.

0 голосов
/ 26 сентября 2013

Вам нужно сделать что-то вроде этого, чтобы установить доменное имя:

setcookie(name, value, expire, path, preg_replace('/www/','',$_SERVER['HTTP_HOST']));
0 голосов
/ 03 августа 2011
setcookie("tuittingID", $random, mktime(0, 0, 0, 12, 31, ".".$_SERVER['HTTP_HOST']);
...