如何在$ _FILES ['']中使用getimagesize()?

时间:2012-03-21 06:00:17

标签: php file upload

我正在做图片上传处理程序,我希望它能够检测用户上传的图片尺寸。

所以我从:

开始
if (isset($_FILES['image'])) etc....

我有

list($width, $height) = getimagesize(...);

我该如何一起使用它们?

非常感谢

4 个答案:

答案 0 :(得分:20)

你可以这样做

$filename = $_FILES['image']['tmp_name'];
$size = getimagesize($filename);

// or

list($width, $height) = getimagesize($filename);
// USAGE:  echo $width; echo $height;

使用条件组合,这是一个例子

if (isset($_FILES['image'])) {
    $filename = $_FILES['image']['tmp_name'];
    list($width, $height) = getimagesize($filename);
    echo $width; 
    echo $height;    
}

答案 1 :(得分:1)

从php手册非常简单的例子。

list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() example\" />";

答案 2 :(得分:1)

list($w, $h) = getimagesize($_FILES['image']['tmp_name']);

来自文档:

  

索引0和1分别包含图像的宽度和高度。

     

索引2是指示其类型的IMAGETYPE_XXX常量之一   图像。

     

索引3是一个文本字符串,其正确的高度=“yyy”width =“xxx”   可以直接在IMG标记中使用的字符串。

所以你可以做list()而不用担心索引,它应该得到你需要的信息:)

答案 3 :(得分:1)

尝试使用多张图片:

for($i=0; $i < count($filenames); $i++){  

    $image_info = getimagesize($images['tmp_name'][$i]);
    $image_width  = $image_info[0];
    $image_height = $image_info[1];
}

尝试使用单张图片:

$image_info = getimagesize($images['tmp_name']);
$image_width  = $image_info[0];
$image_height = $image_info[1];

至少它对我有用。