Как я могу использовать getimagesize () с $ _FILES ['']? - PullRequest
9 голосов
/ 21 марта 2012

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

Итак, я начинаю с:

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

иУ меня есть

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

Как я могу использовать их вместе?

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

Ответы [ 4 ]

20 голосов
/ 21 марта 2012

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

$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 голос
/ 03 сентября 2016

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

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

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

1 голос
/ 21 марта 2012
list($w, $h) = getimagesize($_FILES['image']['tmp_name']);

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

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

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

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

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

1 голос
/ 21 марта 2012

из руководства по PHP очень простой пример.

list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() example\" />";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...