是否可以在不使用PHP加载实际图像的情况下获取图像信息?在我的情况下,我想要高度和宽度。
我有这段代码从目录中获取图片。我回应了图片的网址并用JS获取它。
<?php
$directory = "./images/photos/";
$sub_dirs = glob($directory . "*");
$i = 0;
$len = count($sub_dirs);
foreach($sub_dirs as $sub_dir)
{
$images = glob($sub_dir . '/*.jpg');
$j = 0;
$len_b = count($images);
foreach ($images as $image)
{
if ($j == $len_b - 1) {
echo $image;
} else {
echo $image . "|";
}
$j++;
}
if ($i == $len - 1) {
} else {
echo "|";
}
$i++;
}
?>
答案 0 :(得分:7)
getImageSize()
是在PHP中获取此信息的正确方法
根据图像类型进行最少量的工作。例如,GIF图像的高度/宽度存储在标题中。非常容易访问和阅读。所以这就是函数最有可能从文件中获取信息的方式。对于JPEG,它必须使用SOFn标记做更多的工作。
访问此信息的最快方法是每次上传新文件时维护文件维度数据库。
鉴于你目前的情况。我建议编写一个PHP脚本来获取所有当前的图像文件,使用此函数获取大小,然后将信息插入数据库以备将来使用。
答案 1 :(得分:5)
答案 2 :(得分:2)
您可以使用Javascript ...
以编程方式获取图像并检查尺寸var img = new Image();
img.onload = function() {
alert(this.width + 'x' + this.height);
}
img.src = 'http://www.google.com/intl/en_ALL/images/logo.gif';
如果图像不是标记的一部分,这可能很有用;)
答案 3 :(得分:2)
您可以将width'n'高度信息存储在文本文件中,稍后再加载。
答案 4 :(得分:2)
list($width, $height, $type, $attr) = getimagesize($_FILES["Artwork"]['tmp_name']);
使用此功能。