PHP-скрипт может работать как любой документ, который вам нужен, вам просто нужно сообщить браузеру (или почтовому клиенту и т. Д.), Что происходит.
По умолчанию PHP отправит обратно Content-Type
заголовок text / html , который сообщает, что вы обслуживаете веб-страницу. Но вы можете переопределить это, чтобы отправить все, что захотите - если вы хотите, чтобы ваш скрипт генерировал PDF, или лист Excel, или изображение, вам просто нужно отправить правильный заголовок. Для этого вам нужно просто вызвать функцию header
, указав соответствующий тип контента. Для изображения это будет что-то вроде:
header('Content-Type: image/png');
После этого, если вы отобразите источник изображения, клиент будет воспринимать его как единое целое. Если у вас есть однопиксельное изображение в том же каталоге, что и скрипт PHP, это может быть просто:
readfile('single_pixel_image.png');
, который считывает файл непосредственно с диска и отправляет его клиенту.
Важной частью всего этого является то, что перед тем, как позвонить на header
, вы можете делать все, что захотите. Записывайте данные в базу данных, записывайте файлы на диск, отправляйте информацию в API, все, что вы делаете в обычном PHP-скрипте.
После того, как вы написали все, что вам нужно, вы можете просто вставить его, используя обычный тег изображения:
<img src="tracking.php" />
Одна из вещей, которую вы могли бы сделать, - перенаправить более «стандартное» имя файла изображения в ваш скрипт и добавить уникальный идентификатор. В Apache вы будете делать что-то подобное, но в зависимости от того, какой веб-сервер вы используете, вам нужно будет внести изменения:
RewriteRule ^/?tracking/(.*).png$ tracking.php?track=$1 [QSA, L]
Это позволит вам использовать tracking/1234.png
в теге изображения электронной почты, и за кулисами будет работать ваш PHP. В этом скрипте вы можете использовать $_GET['track']
для ссылки на ваш уникальный идентификатор и регистрировать все, что нужно.