在图像加载上保存cookie

时间:2011-07-11 06:53:21

标签: php cookies

从我的服务器加载图像时,是否可以在用户计算机上保存cookie?

我们假设我的图片网址为:http://www.site.com/image.jpg

如果他只加载那个jpg,我可以在他的机器上保存一个cookie吗?

谢谢,

2 个答案:

答案 0 :(得分:3)

如果您想使用PHP,则必须通过PHP脚本提供图像。这可以通过重写请求转到PHP文件,然后在该脚本中使用readfile来完成。

另一种解决方案是直接在您的Web服务器中设置cookie。如何执行此操作取决于您使用的Web服务器。这就是你在Nginx中的表现:

location /image.jpg {
  add_header Set-Cookie "cookiename=value";
}

对于Apache:

<FilesMatch "^image\.jpg$">
Header set Set-Cookie: "cookiename=value"
</FilesMatch>

答案 1 :(得分:1)

如果您使用的是Apache 2.0.40(或更高版本),则可以尝试在.htaccess文件中添加以下代码:

RewriteEngine On
RewriteBase /
RewriteRule ^image\.jpg$ - [co=YourCookieName:YourCookieValue:YourCookieDomain] 

更多信息here