| |||||||||||||||
exif_read_data(PHP 4 >= 4.2.0) exif_read_data - читает шапки EXIF из JPEG или TIFF. Описаниеarray exif_read_data ( string filename [, string sections [, bool arrays [, bool thumbnail]]]) Функция exif_read_data() читает шапки/headers EXIF из файла изображения JPEG или TIFF. Она возвращает ассоциативный массив, где индексами являются header-имена, а значениями - значения, ассоциированные с этими headers. Если никакие данные не могут быть возвращены, возвращается FALSE. filename это имя читаемого файла. Это не может быть url. sections разделённый запятыми список разделов, который должен присутствовать в файле,
чтобы производить результирующий массив. |
arrays специфицирует, становится или нет каждый раздел массивом. Разделы FILE, COMPUTED и THUMBNAIL всегда становятся массивами, мак как они могут содержать значения, имена которых конфликтуют с другими разделами.
thumbnail читать или нет само thumbnail, а не только тэгированные данные.
Примечание: Делается попытка представить шапки еxif в JPEG/TIFF-изображениях, генерируемых цифровыми камерами, но, к сожалению, каждая цифровая камера по своему тэгирует свои изображения, поэтому вы не всегда можете полагаться на специфические шапки Exif.
Примечание: Если изображение содержит IFD0-данные, то COMPUTED содержит вхождение ByteOrderMotorola, которое равно 0 для байтового порядка little-endian (intel) и 1 - для big-endian (motorola). Это было введено в PHP 4.3.
Если Exif header содержит Copyright note, они сами содержат два значения. В качестве разрешения несоответствия стандарту Exif 2.10, раздел COMPUTED возвращает и Copyright.Photographer, и Copyright.Editor, в то время как раздел IFD0 содержит байтовый массив с символом NULL, который разделяет оба вхождения. Либо только первое вхождение, если тип данных имеет неправильный формат (нормальное поведение Exif). COMPUTED будет также содержать вхождение Copyright, которое будет либо оригинальной copyright-строкой, либо списком разделённых запятыми photo и editor copyright.
Примечание: С тэгом UserComment существует та же проблема, что и с тэгом Copyright. Он может хранить два значения: первое - для используемой кодировки, а второе - само значение. То есть раздел IFD содержит только кодировку или массив байтов. Раздел COMPUTED будет хранить вхождения UserCommentEncoding и UserComment. Вхождение UserComment доступно в обоих вариантах, поэтому предпочтительнее использовать его, а не значение в разделе IFD0.
Если пользовательский комментарий использует кодировку Unicode или JIS, а модуль mbstring доступен, эта кодировка автоматически изменяется в соответствии с установками exif ini. Это было введено в PHP 4.3.
Примечание: Height и Width вычисляются тем же способом, что и в getimagesize(), поэтому их значения обязаны не быть частью любого из возвращаемых header. Также html это текстовая строка height/width, используемая внутри нормального HTML.
Примечание: Начиная с PHP 4.3, эта функция может читать все внедрённые IFD-данные, включая массивы (возвращаемые как таковые). Также и размер внедрённого thumbnail возвращается в подмассиве THUMBNAIL, и функцияexif_read_data() может возвращать thumbnails в формате TIFF. И наконец, теперь нет ограничения на максимальный размер возвращаемых значений (если не достигнут предельный размер доступной памяти).
Примечание: Эта функция доступна только в PHP 4, скомпилированном с опцией
--enable-exif. Её функциональность и поведение изменилось в PHP 4.2. Предыдущие версии очень нестабильны.Начиная с PHP 4.3, пользовательский комментарий может автоматически изменить кодировку, если PHP 4 был скомпилирован с опцией --enable-mbstring.
Эта функция не требует библиотеки GD image.
См. также exif_thumbnail() и getimagesize().
|