Как использовать getimagesize () с $ _FILES ?

Я делаю обработчик загрузки изображений, и я бы хотел, чтобы он обнаружил размеры изображения, которое было загружено пользователем.

Поэтому я начинаю с:

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

и я имею

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

Как я должен использовать их вместе?

большое спасибо

Solutions Collecting From Web of "Как использовать getimagesize () с $ _FILES ?"

Вы можете сделать это как таковое

 $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; } 
 list($w, $h) = getimagesize($_FILES['image']['tmp_name']); 

Из документов:

Индекс 0 и 1 содержит соответственно ширину и высоту изображения.

Индекс 2 является одной из констант IMAGETYPE_XXX, указывающих тип изображения.

Индекс 3 представляет собой текстовую строку с правильной строкой height = "yyy" width = "xxx", которая может использоваться непосредственно в теге IMG.

Поэтому вы можете просто сделать список () и не беспокоиться об индексах, он должен получить необходимую информацию 🙂

от php manual очень простой пример.

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

Попробуйте это для нескольких изображений:

 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]; 

по крайней мере, это работает для меня.