【问题标题】:How to display an image with URL parameters with PHP如何使用 PHP 显示带有 URL 参数的图像
【发布时间】:2010-11-06 00:33:02
【问题描述】:

我正在更换主机,但在显示图像时遇到了问题。在当前主机上,图像被提供:

<img id="i1877" src="http://somewebsite.com/images/photo-shoots/XLIscjDrEAdkhzAeDsBrXIedV.jpeg?w=200&h=200">

但是,在新主机上,它不会接受带有 URL 维度参数的 src 属性。所有图片都以路径格式存储在服务器上:

/path/to/image/XLIscjDrEAdkhzAeDsBrXIedV.jpeg200x200
/path/to/image/XLIscjDrEAdkhzAeDsBrXIedV.jpeg500x500
/path/to/image/XLIscjDrEAdkhzAeDsBrXIedV.jpeg1000x1000

是否有 Apache2 模块或将 URL 编码的 src 转换为附加在文件名末尾的尺寸的东西?我从来没有见过像这样设置的系统并且只是继承了这个项目,所以任何帮助将不胜感激!提前致谢!

【问题讨论】:

  • 我不会将它们添加到文件扩展名中。只是说。那可能会破坏事情。去/path/to/image/blahblah.200.200.jpeg怎么样?
  • However, on the new host, it won't accept the src attribute with the URL dimension parameter 为什么不呢?谁不接受这个属性?
  • 没有什么“在主机上”会阻止图像显示与原始代码中的参数一样,除非已设置mod_rewrite 规则这样做。由于您需要设置这样的规则来促进您的解决方案,因此您不妨弄清楚原始问题的根源是什么。
  • @Matchu:我会按照这些思路做一些事情,但我没有参与网站设计。
  • @Pekka:当我将 DNS 设置更改为新主机时,图像 src 似乎无效。在传输过程中主机之间没有任何变化,所以我倾向于认为原始服务器上有一个设置,它将 URL 参数转换为附加维度的文件名。

标签: php html image


【解决方案1】:

最简单的方法是设置一个.htaccess 文件,该文件拦截对该文件夹中图像的所有请求,从 URL 中解析出图像名称($_SERVER["REQUEST_URI"] 是您的朋友),然后使用readfile() 根据$_REQUEST["w"]$_REQUEST["h"] 实际输出正确的JPEG。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    您必须检查 jQuery 图像调整大小解决方案,它是前端解决方案,但它会减慢网站的外观。另一种解决方案是 php 图片调整大小功能,该功能可在网上免费获得。 http://plugins.jquery.com/project/aeImageResize

    【讨论】:

      猜你喜欢
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      相关资源
      最近更新 更多