gpt4 book ai didi

php - 使用 PHP 脚本提供图像与直接加载图像

转载 作者:IT王子 更新时间:2023-10-29 00:09:00 25 4
gpt4 key购买 nike

我想监控一些外部图像的加载频率。所以我的想法不是像这样直接给出 uri:

www.site.com/image1.jpg

我可以创建一个读取图像的 PHP 脚本,所以我构建了一个 PHP 文件,我的 HTML 看起来像这样:

<img src="www.site.com/serveImage.php?img=image1.jpg">

但我不知道如何从磁盘读取图像并将其返回。我会返回字节数组还是设置内容类型?

亲切的问候,米歇尔

最佳答案

通过脚本发送图像对于调整大小和按需缓存等其他事情非常有用。

正如 Pascal MARTIN 对函数 readfile 的回答,这些 header 是要求:

  • 内容类型
    • 此内容的 mime 类型
    • 示例:header('Content-Type: image/gif');
    • 查看函数mime_content_type
    • 类型
      • 图片/gif
      • 图片/jpeg
      • image/png

但除了明显的内容类型之外,您还应该查看其他 header ,例如:

  • 内容长度
    • 以八位字节(8 位字节)为单位的响应主体的长度
    • 示例:header('Content-Length: 348');
    • 查看函数filesize
    • 让连接得到更好的使用。
  • 最后修改时间
    • 所请求对象的最后修改日期,采用 RFC 2822 格式
    • 示例:header('Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT');
    • 查看函数filemtimedate将其格式化为所需的 RFC 2822 格式
      • 示例:header('Last-Modified: '.date(DATE_RFC2822, filemtime($filename)));
    • 如果文件修改时间相同,您可以在发送 304 后退出脚本。
  • 状态码
    • 示例:header("HTTP/1.1 304 Not Modified");
    • 您现在可以退出,不再发送图像

上次修改时间,在$_SERVER中查找

  • If-Modified-Since
    • 允许在内容未更改时返回 304 Not Modified
    • 示例:If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
    • $_SERVER 中,键为 http_if_modified_since

List of HTTP header responses

关于php - 使用 PHP 脚本提供图像与直接加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1353850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com