PHP уроки
ПРОСТО самая лучшая обучалка PHP!
  • Студия LPHPRU
  • Уроки PHP
  • Контакты
  • Помощь
Меню
  • PHP - с чего начать?
  • Уроки PHP
  • Функции PHP
  • Массивы
  • Denwer
  • MySQL
  • Информация
  • Dreamweaver уроки
  • JQuery уроки
  • Галерея
Календарь
Апрель (2021)
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
2627282930  
В продаже

  • Что нового?

    • Тест №2
    • Тест №1 для разработчиков
    • PHP 5.6 RC1
    • SQL. Как cкопировать данные одной колонки в другую, в той же таблице
    • GRUB изменить порядок загрузки OS в Linux
    • SSH - вход на сервер без ввода пароля
    • PhpMyAdmin - проблема с загрузкой большого файла на сервер
  • Комментарии

    • тут нечего не понятно
    • Может уже пора на WebStorm переходит...
    • Здравствуйте. 10 лет пользуюсь др...
    • Была такая проблема, решалась пе...
    • Возможно с течением времени этот...
  • TOP-5

    • Метод POST (2940402)
    • Привет, МИР! (907353)
    • Метод GET (662403)
    • Операторы (602295)
    • Firefox уже запущен, но не отвечает... (347604)

Размер изображения

Главная » Функции PHP » Размер изображения
PHP урок № 348

Определить размер изображения c помощью функции PHP getimagesize()

Для того чтобы задействовать функции PHP работающие с изображениями, нужно что бы PHP, на вашем сервере, был скомпилирован с поддержкой библиотеки GD. Именно наличие этой библиотеки позволяет применять функции о которых будет рассказано ниже.
Как проверить наличие библиотеки GD на сервере?
Используйте функцию PHP - phpinfo().

Листинг № 1 - Использование функции phpinfo()

<?php

    
echo phpinfo();
        
?>
Если вы найдёте такой блок, как на рисунке 1, значит всё в порядке, функции по работе с изображениями должны нормально функционировать. В противном случаи вам следует обратиться в техподдержку хостинга.
Рис. 1
размер изображения

Листинг № 2 - Определяем размер изображения

<?php

// получаем массив, содержащий размеры изображения
$size = getimagesize ("http:⁄⁄yandex.st/lego/_/X31pO5JJJKEifJ7sfvuf3mGeD_8.png");

// Значение флага, 
// возвращаемого функцией getimagesize() под индексом 2
// после определения размера изображения
$flag = array(1=>'GIF',
             
2=>'JPG',
             
3=>'PNG',
             
4=>'SWF',
             
5=>'PSD',
             
6=>'BMP',
             
7=>'TIFF(байтовый порядок intel)',
             
8=>'TIFF(байтовый порядок motorola)',
             
9=>'JPC',
             
10=>'JP2',
             
11=>'JPX');

echo 
"Ширина: " . $size[0] .'<br>';
echo 
"Высота: " . $size[1] .'<br>';
echo 
"Тип изображения: " . $flag[$size[2]] .'<br>';
echo 
"Ширина и Высота: " . $size[3] .'<br>';

?>
Результат работы скрипта:
Ширина: 95
Высота: 37
Тип изображения: PNG
Ширина и Высота: width="95" height="37"
В этом уроке используется изображение, логотип Яндекса, который загружается непосредственно с сайта компании. Поэтому есть вероятность того, что у вас размеры могут быть со временем другие.

Урок закончен.

SETTER © LPHP.RU
Администрация сайта
01.07.2011 17:05:47

Понравился урок? Не пропусти следующий!
Рекомендованные уроки этого раздела:
  • Explode
  • Рекурсия. Рекурсивный метод вызова функций.
  • Сравнение двух PHP скриптов, или сравнение строк.
  • Размер изображения

Напишите свой комментарий
Ваше имя
Сообщение
Введите цифры с картинки:
 

Комментарии

Игорь 28.12.2011 11:24:40
У меня несколько вопросов. 1 - зачем выводя тип изображения, выявляя массив $flag, включать в массив $size. Если и так тип заведомо указан в переменной $flag? 2 - Почему ширина и высота выявляется значениями [0] и [1], чем это объясняется?
SETTER 28.12.2011 15:45:51
Ну во-первых здесь нет переменной flag - это массив! Функция getimagesize() - это встроенная функция PHP, она возвращает массив свойств изображения, которое было предложено в функции, как аргумент, т.е. путь до изображения. У этой функции есть определённый порядок вывода значений, точнее у массива, который она возвращает. Как известно массив содержит значения которые в свою очередь имеют ключи, эти ключи начинают свой отсчёт с нуля. Значение массива с ключом ноль - содержит всегда ширину изображения, с ключом 1 - высоту, с ключом 2 - содержит число, которое идентифицируется, как-то, что показано в массиве flag (расширение). Здесь используется вложенность массивов. Если не вкладывать массив size[2] в массив flag[], то просто не увидим расширение картинки.
SETTER 28.12.2011 15:52:57
В данном примере массив $size[2] содержит цифру 3, а массив flag[3] - содержит расширение PNG если из массива flag[3] убрать число 3 и вставить массив $size[2] (flag[$size[2]]), то получим то-же самое, потому что после отработки скрипта в массиве flag останется число 3, т.е значение массива size[2].
3866 29.12.2011 05:40:44
то есть получается у массива функции getimagesize() может иметь только 4 значения (ширина, высота, расширение, "ширина и высота")? и зачем кстати тут "ширина и высота"? если эти данные и так указываются первыми двумя ключами? И второе. То что это массив это я понял, но почему его имя начинается со знака доллара? Я думал, что это переменная имеющая в значении - массив. То есть переменная $flag = массив.
SETTER 29.12.2011 08:12:09
Есть справочники по всем функциям PHP, где они все расписаны. Ширина и высота зачем? Например динамически вставлять одну переменную в тег img, а не городить целую строку из отдельно взятых свойств. Почему $? Потому что любой массив и переменная пишется со знаком $, только функция без него. Массив это по сути та же переменная, которая имеет своё внутреннее устройство, называемое стек массива. Я представляю массив как тумбочку или комод с ящиками, каждый ящик имеет свой номер - это ключ массива и в каждом ящике что-то лежит - это значения определённого ключа массива, а сам комод и есть массив. Это конечно всё аллегория, хотя и очень правдоподобная.
Николай 03.09.2012 08:47:56
А вы уверены, что функция getimagesize() зависит от библиотеки GD? Откуда вы это взяли?
SETTER 03.09.2012 14:03:09
В книжки умной прочитал.
  • Яндекс.Метрика Здесь находится аттестат нашего WM идентификатора 185571665285
  • "LPHPRU" © 2009-2021