Я делаю обработчик загрузки изображений, и я бы хотел, чтобы он обнаружил размеры изображения, которое было загружено пользователем.
Поэтому я начинаю с:
if (isset($_FILES['image'])) etc....
и я имею
list($width, $height) = getimagesize(...);
Как я должен использовать их вместе?
большое спасибо
Вы можете сделать это как таковое
$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];
по крайней мере, это работает для меня.