0

我有一个网站,我可以在其中检查图像大小以调整它们周围的各种 HTML 元素的大小。图像 URL 通过数据传入并远程托管,因此我事先不知道图像尺寸。我正在使用 getimagesize ,这似乎工作正常(虽然很慢),但现在我看到我从 getimagesize 返回的图像尺寸不是我最终得到的图像文件的尺寸. 图像 URL 不是直接指向文件,而是指向提供图像的脚本,所以我假设正在提供的图像文件在 getimagesize 检查和实际下载之间发生了变化。

有没有人处理过这个问题?是否有任何服务器端解决方案可以获得正确的尺寸,或者我需要在图像加载后转到 JS 解决方案?布赖恩

4

3 回答 3

0

更好的方法不是设置 image.onload,这样一旦加载图像,您就可以获取实际图像大小并调整页面?

于 2013-06-27T21:05:59.637 回答
0

您可以将图像文件下载到临时文件中,然后调用getimagesize()该文件。

尽管根据文档中的评论之一,这基本上就是这样getimagesize($url)工作的。所以我不确定你为什么会得到不同的尺寸。如果图像文件动态更改,您的 PHP 脚本似乎无法获得浏览器将看到的大小,因此您必须使用在图像之后运行的 Javascript 解决方案加载。

于 2013-06-27T21:10:57.503 回答
0

在数据中传递的图像 URL 具有 HTML 实体,这些实体由 getimagesize 和实际图像下载区别对待。

于 2013-07-02T15:43:41.317 回答