【发布时间】:2012-05-16 09:09:39
【问题描述】:
我正在使用 last.fm API 来获取最近的曲目并搜索专辑和艺术家等。 从 API 返回图像时,它们有时不存在。一个空的 URL 字符串很容易用占位符图像替换,但是当给出一个图像 url 并返回 404 时,我的问题就出现了。
我尝试使用 fopen($url, 'r') 来检查图像是否可用,但有时这会给我以下错误:
Warning: fopen(http://ec1.images-amazon.com/images/I/31II3Cn67jL.jpg) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in file.php on line 371
另外,我不想使用 cURL,因为要检查的图像很多,这会大大降低网站速度。
检查图像的最佳解决方案是什么? 我现在正在使用以下解决方案:
<img src="..." onerror='this.src="core/img/no-image.jpg"' alt="..." title="..." />
这有用吗?
感谢任何帮助
【问题讨论】:
-
很遗憾,last.fm 为您提供了一个实际上并不存在的 URL。
-
它给了我一个有效的图像,当浏览它时,它给出了一个图像的图标,但它永远不会加载。所以我得到一个 404。