我将所有图像存储在一个文件夹中。这些图像由用户通过他的帐户上传。因此,图像的大小不同。
我想以2个div元素显示图像,这些元素具有固定的宽度和高度(但彼此不同)。尺寸可以是40×40像素和200×200像素的量级。什么是更好的方法 - 1)在第一个位置上传时,在文件夹中存储不同尺寸的图像,或
2)使用HTML中img标签中的“height”和“width”属性以正确的大小显示图像。 或者还有其他方式吗?
提前致谢。
答案 0 :(得分:1)
当然,存储已经调整大小和裁剪的图像会更好 如果您想要具有不同尺寸的多个图像 它将发送更少的数据。
更好的方法是存储所有图像的所有尺寸。在这种情况下,它的工作速度要快得多。
original/test.jpg 40x40/test.jpg 200x200/test.jpg
答案 1 :(得分:0)
最好的方法是存储原始图像并从客户端请求正确尺寸的图像。此时如果找不到正确大小的图像,请创建它并将其添加到缓存文件夹。然后,从缓存中提供正确大小的图像。
因此,如果上传了大小为1200x800的image.png,请将其存储在original_images文件夹中。
然后,构建一个php脚本size_image.php并在你的HTML中使用它
<img src="sized_image.php?img=image.png&height=200&width=200" />
在您的sizes_image.php脚本中,您将执行以下操作
$fileName = "cached_image/{$_GET['width']}x{$_GET['height']}_{$_GET['img']}";
if (!file_exists($fileName))
{
//resize and store in $fileName
}
$type = 'image/png'; //Or whatever type the image is
header('Content-Type:' . $type);
header('Content-Length: ' . filesize($fileName));
readfile($fileName);
exit();