安点<;img>;标记到由PHP动态生成的图像?

安点<;img>;标记到由PHP动态生成的图像?,php,mod-rewrite,Php,Mod Rewrite,是否可以将图像重定向到动态生成的图像(使用PHP) 我有一个动态创建的图像,它有一个扩展名“.PHP”(很明显),并且该服务器不在我的控制之下。因此,我想将“somename.jpg”(在我的服务器上)重定向到“remoteserver/dynamicimage.php”(在不受我控制的远程服务器上),这样我就可以立即将其链接为,并显示动态生成的图像 请告诉我这是否可行。尝试将类似的内容添加到.htaccess文件中 RewriteEngine on RewriteRule ^(.*)\.jpg

是否可以将图像重定向到动态生成的图像(使用PHP)

我有一个动态创建的图像,它有一个扩展名“.PHP”(很明显),并且该服务器不在我的控制之下。因此,我想将“somename.jpg”(在我的服务器上)重定向到“remoteserver/dynamicimage.php”(在不受我控制的远程服务器上),这样我就可以立即将其链接为
,并显示动态生成的图像


请告诉我这是否可行。

尝试将类似的内容添加到.htaccess文件中

RewriteEngine on
RewriteRule ^(.*)\.jpg$ /scripts/$1.php

浏览器遵循图像的重定向。创建一个名为“somename.jpg”的php文件并添加:


这也会进入.htaccess文件。

这是可能的,但会导致HTTP重定向:

RewriteEngine on
RewriteRule ^somename\.jpg$ http://remoteserver/dynamicimage.php [L]

另一种方法是使用(请参阅),以便您的服务器请求远程资源并将其传递回客户端。

header函数控制HTTP header,这是浏览器用来确定文件类型(或者在任何情况下都应该)的它可用于告知浏览器脚本正在生成要下载的图像文件,而不是HTML脚本输出:

header('Content-type: image/jpeg');
header('Content-Disposition: attachment; filename="somename.jpg"');

另一个更复杂但功能强大的方法是编写一些处理程序代码,为这个本地图像位置url激活

这将从外部url获取数据,并输出具有正确mime类型的数据

您还可以编写一些代码,根据可能的情况缓存这些数据

这样你就永远不会泄露图像的真实位置,你甚至可以使用一些不应该出现在你网站上的秘密凭证,如logindata或第三方cookie


所有这些都比在apache配置中简单地配置重定向要困难得多。我们这样做是为了防止url泄露私人信息。

谢谢你的回答。好。。。可以告诉我如何使用这个“Forcetype”吗?添加了一个链接。但基本上,这和我在回答中说的没什么关系。只需创建一个.htaccess并复制粘贴代码。更改文件名。完成。您不需要为此调用PHP。+1——这看起来是迄今为止建议的侵入性最小的解决方案,更不用说它不需要重新配置http服务器。Lol!我终于找到了一个最简单的解决办法。我创建了一个名为“image.jpg”的文件夹,并在其中创建了一个php文件,该文件重定向到远程服务器。成功了:)
Redirect somename.jpg http://www.otherserver.com/image.php
RewriteEngine on
RewriteRule ^somename\.jpg$ http://remoteserver/dynamicimage.php [L]
header('Content-type: image/jpeg');
header('Content-Disposition: attachment; filename="somename.jpg"');