我有一个包含4-5个本地图像urls的数组。
我想以编程方式返回数组中图像尺寸最大的图像的URL。我该怎么做?
发布于 2011-05-22 14:16:16
一种非常简单的方法是:
$files = array_combine($filenames,
array_map("array_sum", array_map("getimagesize", $filenames))
);
arsort($files);
print key($files); # largest image这只是添加$width+$height并检查哪个文件加起来的数量最大。与将两个值相乘的结果相似。但在实践中,如果15x1000应被视为大于550x550,则可能需要手动搜索宽度和高度的max()值。
发布于 2011-05-22 14:13:17
在这里,getimagesize是您想要的。我已经以一种非常便于学习的方式对其进行了编码。有更高级的方法可以做到这一点,但它们有时会变得迟钝。
$largest = -1;
$largest_image = null;
foreach ($images as $image)
{
$size = getimagesize($image);
$val = $size[0] * $size[1];
if ($val > $largest)
{
$largest_image = $image;
$largest = $val;
}
}
if ($largest_image != null)
{
// do magic
}https://stackoverflow.com/questions/6086347
复制相似问题