4

我不知道如何提出这个问题。而且我不知道下面的标签是如何工作的......

<img src="img.png?value=23"/>

这个标签工作正常。并正确渲染图像。有没有value=23效果???还是被浏览器忽略了??

我什至不知道如何谷歌这个!!!是否像将参数传递给图像???如果是这种情况,如何检索 value 属性。参数有没有意义

4

7 回答 7

6

这取决于服务器,如果您将 png MIME 类型作为文本并且您将文件解析为带有 php 代码的文本文件,那么它就会生效。

这实际上取决于服务器的配置而不是浏览器。

此外,mod_rewrite可用于将看起来像 png 的文件更改为 php 文件。

通过php解析器添加解析png文件 AddType application/x-httpd-php .png

mod_rewrite

 RewriteEngine On
 RewriteRule ^([a-zA-Z0-9_\-]*)\.png$ img.php?value=$1

这些行将asdfasdf.png被视为img.php?value=asdfasdf

因此,在这种情况下,当您使用$_GET['value']onasdfasdf.pngimg.php?value=asdfasdf. 会有效果的。

如果服务器未配置为执行此类操作,并且图像是图像(是的,我知道这是一个绝妙的句子),那么它对普通图像没有影响。

总结一下。

它取决于服务器配置而不是浏览器

于 2013-06-26T13:41:59.723 回答
2

如果此图像在某些方面是动态的,则托管此图像的服务器必须从 PHP 代码生成图像。

看看GD 库,它允许您使用 PHP 生成基于任何内容或其他图像的图像。必须传递参数以在图像中包含该值(例如,包含文本“123”或以某种方式使用它进行计算的图像,例如用户 ID)。

然后.htaccess服务器上的 an 重写.pngto .php(或者可能是另一个)的扩展名,使其看起来像一些库和爬虫或脚本等的真实图像。

另一种选择是,这是一个简单的图像并且value被忽略,或者只是随机的以确保图像没有被缓存。

于 2013-06-26T13:41:12.707 回答
2

value=23只有在服务器使用它时才有效。浏览器请求http://example.com/img.png?valud=23,所以服务器会看到参数。

例如,对于 PHP,如果您使用$_GET['value'], 并且该变量更改了发送的图像,则value=23需要 。

参数通常与图像一起发送以指定高度或宽度,或确定加载哪个图像。

于 2013-06-26T13:41:42.627 回答
1

确实如此!

例如,看看这个旨在动态调整图像大小的软件。

http://imageresizing.net/docs/basics

如果操作正确,将参数添加到图像 url 可能会非常有用。

编辑:

正如其他人指出的那样,您需要确保服务器知道如何处理额外的参数。在这种情况下,它旨在调整图像大小/水印/旋转图像。它当然可以做其他美妙的事情。

于 2013-06-26T13:41:53.747 回答
1

对于这个示例,我不知道这是什么意思但是可以写

<img src="path_img.png?<?php time() ?>" />

强制浏览器在不使用缓存的情况下下载资源

于 2013-06-26T13:51:06.590 回答
0

url 中的参数主要用于获取有关特定项目的一些信息,但可以以更多其他方式使用。在谈论图像时,浏览器不会忽略该参数value=23,但您使用的服务器会。

但是如果图像是某种动态的,那么它可能被用来改变图像的 URL 或其他东西。

于 2013-06-26T13:48:01.980 回答
0

value=23不会被您的浏览器忽略,而是被服务器忽略。

这就像将参数传递给 Web 服务器。对于图像,它将被大部分忽略。

于 2013-06-26T13:40:44.427 回答