Я не уверен, как настроено ваше приложение, но давайте предположим, что каждое сообщение хранится в базе данных с уникальным идентификатором. Ваш скрипт будет выглядеть примерно так:
- Получите реферера, используя
$_SERVER['HTTP_REFERER
]
- Сохраните это в базе данных, используя исходный идентификатор записи в качестве внешнего ключа и нормализованную версию домена
Затем, когда вы хотите показать статистику, запустите запрос, подобный этому:
SELECT `domain`, COUNT(*) as `total` FROM post_referrers WHERE `post_id` = 5 GROUP BY `domain`
Затем можно рассчитать проценты по отношению к общему количеству, которое было возвращено.
Таблица post_referrers
будет выглядеть так:
id, domain, post_id, full_url
А если ссылающийся URL-адрес http://google.com/?q=whatever
, вы хотели бы сохранить:
domain: google.com
post_id: 5
full_url: http://google.com/?q=whatever