Получение фото «звезды» рейтинг с использованием PHP

StackOverflow https://stackoverflow.com/questions/3020200

  •  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...];
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top