How can I use getimagesize() with $_FILES['']?

后端 未结 4 1384
清歌不尽
清歌不尽 2021-02-14 11:17

I am doing an image upload handler and I would like it to detect the dimensions of the image that\'s been uploaded by the user.

So I start with:

if (isse         


        
相关标签:
4条回答
  • 2021-02-14 11:49

    from php manual very simple example.

    list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
    echo "<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() example\" />";
    
    0 讨论(0)
  • 2021-02-14 12:00

    You can do this as such

    $filename = $_FILES['image']['tmp_name'];
    $size = getimagesize($filename);
    
    // or
    
    list($width, $height) = getimagesize($filename);
    // USAGE:  echo $width; echo $height;
    

    Using the condition combined, here is an example

    if (isset($_FILES['image'])) {
        $filename = $_FILES['image']['tmp_name'];
        list($width, $height) = getimagesize($filename);
        echo $width; 
        echo $height;    
    }
    
    0 讨论(0)
  • 2021-02-14 12:01
    list($w, $h) = getimagesize($_FILES['image']['tmp_name']);
    

    From the docs:

    Index 0 and 1 contains respectively the width and the height of the image.

    Index 2 is one of the IMAGETYPE_XXX constants indicating the type of the image.

    Index 3 is a text string with the correct height="yyy" width="xxx" string that can be used directly in an IMG tag.

    So you can just do list() and don't worry about indexes, it should get the info you need :)

    0 讨论(0)
  • 2021-02-14 12:03

    Try this for multi images :

    for($i=0; $i < count($filenames); $i++){  
    
        $image_info = getimagesize($images['tmp_name'][$i]);
        $image_width  = $image_info[0];
        $image_height = $image_info[1];
    }
    

    Try this for single image :

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

    at least it works for me.

    0 讨论(0)
提交回复
热议问题