【发布时间】:2026-02-09 18:25:01
【问题描述】:
我正在开发一个测试/学习应用程序。我想知道如何测试来自另一个站点/域的图像...我将验证逻辑分解为以下内容
- 存在
- 是一张图片
- 是有效类型
- 具有特定尺寸
- 低于最大尺寸 - 假设我希望图像快速加载。托管资源不是我的。
【问题讨论】:
标签: php javascript zend-framework validation
我正在开发一个测试/学习应用程序。我想知道如何测试来自另一个站点/域的图像...我将验证逻辑分解为以下内容
【问题讨论】:
标签: php javascript zend-framework validation
getimagesize() 可以做所有事情,除了你的最后一点。为此,您可以使用filesize()。对于filesize(),您必须实际下载它,但看到getimagesize() 也需要,您可以将其保存到临时文件中。您可以使用tempnam() 获取一个不会与他人冲突的临时文件。
【讨论】:
检查 url 是否存在:
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($handle);
$status = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if($status == 404) {//return true or whatever}
是图像,属于有效类型: 确定文件扩展名是否有效,例如使用
preg_match('/(jp[e]?g|png|gif|etc...)$/i', $url);
具有特定尺寸:
使用GD创建资源,然后通过getImageSize($resource)检查大小
低于最大尺寸:
除了第 1 步 - $size = curl_getinfo($handle, CURLINFO_SIZE_DOWNLOAD);
请记住,您必须启用 cURL 和 GD。
【讨论】: