检测何时从站点访问图像(或任何类型的文件)并通过电子邮件通知

时间:2010-11-24 07:20:20

标签: php html image email tracking

我计划在电子邮件简报中添加徽标图片,并将其用作跟踪图片。此图片将托管在我的网站上(例如my_logo.gif),并在电子邮件的html中引用(例如<img src="http://www.example.com/my_logo.gif" />)。我想在php中创建一个脚本,在访问/查看该图像时通过电子邮件发送给我。这可能吗?如果是这样,怎么样?

欢迎所有提出这方面的想法和建议。

5 个答案:

答案 0 :(得分:3)

将这样的内容放在图像目录中的.htaccess文件中:

RewriteEngine On
RewriteRule ^(.+\.jpg)$ image.php?image=$1 [nocase]

将类似内容放入同一目录中的文件image.php中:

// send email here

header('Content-Type: image/jpeg');
readfile($_GET['image']);

这只是一个简单的示例,请确保验证 $_GET['image']变量以确保它是同一目录中的图像,否则有人可能会滥用此脚本来阅读其他目录中的文件(image.php?image=../../../passwords)。

答案 1 :(得分:0)

//Display image
$image=imagecreatefromjpeg('my_logo.jpg');
header('Content-Type: image/jpeg');
imagejpeg($image);

//logging or notifying stuff here
// ...

只需链接到此脚本,例如<img src="script.php" />

答案 2 :(得分:0)

您可以通过.htaccess将请求重定向到.jpg文件并对其进行计数等。

答案 3 :(得分:0)

您可以使用readfile()功能并发送正确的内容类型标头来实现此目的。您可以在将图像发送到浏览器之前或之后执行其他程序代码。

如果以下程序代码的执行时间较长,您需要查看output control函数。

答案 4 :(得分:-1)

可能更容易链接到php文件并将其转发或呈现图像本身并在访问php文件时计算/跟踪/通过电子邮件发送给您。