Получение фото «звезды» рейтинг с использованием PHP
-
26-09-2019 - |
Вопрос
Я пытаюсь извлечь фото «звезды» рейтинга от .jpg файлов с использованием PHP-кода. Мое намерение - показать самые высокие номинальные изображения как часть слайд-шоу. Я обнаружил, что используя php_jpeg_metadata_toolkit_1.11. Я могу получить рейтинг файла, если рейтинг установлен из Vista (щелкните правой кнопкой мыши -> Свойства -> Детали -> Установить рейтинг, нажав на звезды), чтение массива, возвращаемого Metadata_toolkit.
$exif = get_EXIF_JPEG( $photodir . "/" . $filename );
$rating = $exif[0][18246]['Data'][0];
Однако, если я установил рейтинг с помощью Adobe Bridge, я вижу «звезды» в Vista, но $exif[0][18246]['Data'][0]
Возвращает нулевое значение.
Доступен ли код PHP для чтения рейтинги, применяемых как Windows Vista, так и Adobe Bridge?
Решение 2
Я обнаружил, что Adobe Bridge хранит рейтинг в другом месте в файле JPEG, чем Vista. Увидеть детали в посте, найденном в Предлагаемый PHP код для чтения рейтинга файла, установленный Adobe Bridge CS3
Другие советы
Бьет меня, но почему бы тебе не узнать для себя:
$exif = get_EXIF_JPEG( $photodir . "/" . $filename );
print_r($exif);
Это будет распечатать содержимое $exif
, который я думаю, будет большой, но у вас есть время, верно? (Просмотрите источник в вашем веб-браузере, чтобы вы могли видеть его правильно отформатированным.) Учера вниз, чтобы найти клавишу 0, затем клавишу 18246, затем ключевые данные, затем клавишу 0. Это тот, который вы уже нашли. Теперь поищите, где может быть другой рейтинг. Надеюсь, это не слишком трудно найти. Когда вы найдете его, обратите внимание на путь к нему. Затем получить это:
// This is your Vista rating
$rating = $exif[0][18246]['Data'][0];
if ($rating == null) {
// no Vista rating, so get the Bridge rating
$rating = $exif[...fill in this path...];
}