Ottenere Valutazione foto 'stelle' utilizzando PHP
-
26-09-2019 - |
Domanda
Sto cercando di estrarre voto della fotografia 'stelle' dai file .jpg utilizzando il codice php. Il mio intento è quello di mostrare le immagini più votati come parte di una presentazione. Ho trovato che utilizzando il PHP_JPEG_Metadata_Toolkit_1.11 io sono in grado di ottenere il rating del file se il rating è impostato dall'interno Vista (clic destro -> Proprietà -> Dettagli -> Set voto cliccando sulle stelle) leggendo la matrice restituita da il Metadata_Toolkit
$exif = get_EXIF_JPEG( $photodir . "/" . $filename );
$rating = $exif[0][18246]['Data'][0];
Tuttavia, se ho impostato il voto utilizzando Adobe Bridge, posso vedere le 'stelle' in Vista, ma il
$exif[0][18246]['Data'][0]
restituisce un valore nullo.
Codice è PHP a disposizione per leggere i feedback applicata da Windows Vista e Adobe Bridge?
Soluzione 2
ho scoperto che Adobe Bridge memorizza il rating in una posizione diversa nel file jpeg di Vista. Vedere i dettagli nel post trovato alla suggerito di leggere insieme Valutazione di file da Adobe Bridge CS3
Altri suggerimenti
mi batte, ma perché non si trovano da soli:
$exif = get_EXIF_JPEG( $photodir . "/" . $filename );
print_r($exif);
In questo modo stampare il contenuto di $exif
, che sto cercando di indovinare sarà grande, ma hai tempo, giusto? (Guarda la fonte nel browser web in modo da poter visualizzare correttamente formattata.) Drill-down per trovare il tasto 0, quindi il tasto 18246, quindi il tasto di dati, quindi il tasto 0. Questo è quello che già trovato. Ora, cercare dove l'altro voto potrebbe essere. Speriamo che non sia troppo difficile da trovare. Quando lo trovate, prendere nota del percorso. Poi per farlo:
// 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...];
}