Приднестровская поддержка XOOPS
Несколько функций позволяют получить информацию об изображениях:
□ getimagesize() возвращает информацию об изображении в виде ассоциативного массива. В качестве примера возьмем стандартный баннер 468×60:
$Mass = getimagesize("banner.gif");
foreach ($Mass as $key=>$val) {
echo "$key: $val <br>\n";
}
Такой пример выведет код HTML, отображаемый Web-браузером примерно так:
3: width="468" height="60"
bits: 6
channels: 3
mime: image/gif
□ imagesx() возвращает ширину изображения, загруженного с помощью функций imagecreatefrompng(), imagecreatefromgif(), imagecreatefromjpeg(), imagecreatefromwbmp() или др.;
□ imagesy() возвращает высоту изображения, загруженного с помощью функций imagecreatefrompng(), imagecreatefromgif(), imagecreatefromjpeg(), imagecreatefromwbmp() или др.:
$img = imagecreatefromgif("banner.gif");
echo "Ширина " . imagesx($img) . "<br>";
echo "Высота " . imagesy($img) . "<br>";
// Выведет: Ширина 468<br>Высота 60<br>
Получить детальную информацию о JPEG- и TIFF-изображениях позволяет библиотека php_exif.dll. Для использования функций из этой библиотеки необходимо в файле php.ini убрать комментарий (;) перед строкой
;extension=php_exif.dll
После этого необходимо перенести строку в самый конец перечисления всех расширений. (1)
Библиотека php_exif.dll предоставляет следующие функции:
□ exif_imagetype(<Путь к файлу>) позволяет определить формат файла. Функция возвращает false, если формат файла определить не удалось, или следующие значения и соответствующие им константы:
• 1 — IMAGETYPE_GIF;
• 2 — IMAGETYPE_JPEG;
• 3 — IMAGETYPE_PNG;
• 4 — IMAGETYPE_SWF;
• 5 — IMAGETYPE_PSD;
• 6 — IMAGETYPE_BMP;
• 7 — IMAGETYPE_TIFF_II;
• 8 — IMAGETYPE_TIFF_MM;
• 9 — IMAGETYPE_JPC;
• 10 — IMAGETYPE_JP2;
• 11 — IMAGETYPE_JPX;
• 12 — IMAGETYPE_JB2;
• 13 — IMAGETYPE_SWC;
• 14 — IMAGETYPE_IFF;
• 15 — IMAGETYPE_WBMP;
• 16 — IMAGETYPE_XBM.
Проверить формат можно так:
if (exif_imagetype('foto.jpg') == IMAGETYPE_JPEG) {
echo 'Это фото в формате JPEG';
}
Или так:
if (exif_imagetype('foto.jpg') == 2) {
echo 'Это фото в формате JPEG';
}
□ exif_read_data() позволяет вывести информацию из заголовков JPEG- и TIFF-файлов. Возвращает результат в виде ассоциативного массива. Функция имеет следующий формат:
exif_read_data(<Имя файла>, [<Список разделов>],
[<Тип массива>],
[<Вывод миниатюры>]);
В параметре <Список разделов> можно перечислить через запятую разделы, которые должны присутствовать в файле. Если указанный раздел отсутствует, то функция возвращает false. По умолчанию параметр имеет значение NULL.
Параметр <Тип массива> определяет, будет ли каждый раздел представлен в виде отдельного массива (значение true) или нет (значение false).
По умолчанию параметр имеет значение false. Следует учитывать, что разделы COMPUTED, THUMBNAIL и COMMENT всегда представлены как отдельные массивы.
Параметр <Вывод миниатюры> определяет, будет ли загружена миниатюра (значение true) или только информация о ней (значение false). По умолчанию параметр имеет значение false.
Пример использования функции:
<?php
$arr = exif_read_data('foto.jpg');
if (!$arr) die('Информации нет');
echo '<b>Информация об изображении:</b><br>';
echo 'Название: ' . $arr['FileName'] . '<br>';
echo 'Размер: ';
echo number_format($arr['FileSize'], 0, '.', ' ');
echo '<br>';
echo 'Mime-тип: ' . $arr['MimeType'] . '<br>';
echo 'Ширина: ' . $arr['COMPUTED']['Width'] . '<br>';
echo 'Высота: ' . $arr['COMPUTED']['Height'] . '<br>';
echo 'Дата создания: ' . $arr['DateTimeOriginal'] . '<br>';
echo 'Выдержка: ' . $arr['ExposureTime'] . '<br>';
echo 'Чувствительность: ' . $arr['ISOSpeedRatings'] . '<br>';
echo '<br>';
echo '<b>Информация о фотоаппарате:</b><br>';
echo 'Производитель: ' . $arr['Make'] . '<br>';
echo 'Модель: ' . $arr['Model'] . '<br>';
?>
Выведет примерно:
Информация о фотоаппарате:
Производитель: Canon
Модель: Canon DIGITAL IXUS 85 IS
Вывести полную информацию по разделам можно следующим образом:
<?php
$arr = exif_read_data('foto.jpg', NULL, true, false);
if (!$arr) die('Информации нет');
echo '<pre>';
print_r($arr);
echo '</pre>';
?>
□ exif_thumbnail() позволяет вывести миниатюру из JPEG- и TIFF-файлов. Функция имеет следующий формат:
exif_thumbnail(<Имя файла>, [<Ширина>], [<Высота>], [<Формат миниатюры>]);
В необязательных параметрах <Ширина>, <Высота> и <Формат миниатюры> можно указать переменные, в которых будут сохранены соответствующие параметры миниатюры. Пример использования функции:
<?php
$image = exif_thumbnail('foto.jpg');
if (!$image) die('Миниатюры нет');
header('Content-type: image/jpeg');
echo $image;
exit();
?>
Отправитель | Нити |
---|
2 пользователь(ей) активно (2 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 2 далее... |