【问题标题】:Serving images and saving cookies on the user's machine在用户的机器上提供图像和保存 cookie
【发布时间】:2011-10-26 23:39:17
【问题描述】:

我知道当用户从我的服务器加载图像时,可以通过更改 apache 设置在用户机器上植入 cookie。

但是,我想知道是否可以在 HTML 代码中包含包含参数的图像,我可以激活一些脚本来记录这些参数,例如:

<img src="http://www.mysite.com/myimage.jpg?somcode=123&customer=abcd" />

作为加载图片的回报,我想用somecode=123customer=abcd 在用户的机器上保存一个cookie,并将此信息保存在我的数据库中。

这可能吗?

谢谢,

【问题讨论】:

    标签: php mysql apache cookies


    【解决方案1】:

    不要使用 .jpg 作为文件名,只需使用 .php。这样您就不必乱搞服务器配置,并且正常的图像文件仍然可以正确提供:

    <img src="http://www.mysite.com/myimage.php?somcode=123&customer=abcd" />
    

    然后是你的 myimage.php 文件:

    <?php
    // Your tracking and processing code here
    $customer = $_GET['customer'];
    
    // Then, either:
    header("Location: /urlpath/to/the/actual/image.jpg"); /* Option 1 */
    
    // OR:
    header("Content-Type: image/jpeg");
    readfile("/filepath/to/the/actual/image.jpg"); /* Option 2 */
    

    我更喜欢选项 1,因为它允许您的 Web 服务器非常有效地提供实际图像而不是 PHP(选项 2)。

    【讨论】:

      【解决方案2】:

      我很确定你可以这样做,只需让 apache 将 .jpg 扩展名视为 php 文件。

      您可以将以下内容添加到特定文件夹中的 .htaccess 文件中(不要将其放在根目录中,否则它将以这种方式处理所有 JPG);

      AddType application/x-httpd-php .php .jpg
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-04
        • 2013-03-15
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        相关资源
        最近更新 更多