Le code pour récupérer la date est assez simple et efficace.
function getImageNameFromExif ($imagePath) {
//On récupère les données EXIF
$exif = exif_read_data($imagePath, 'EXIF', true);
//On récupère la donnée qui nous interesse
$dateStr = $exif['EXIF']['DateTimeOriginal'];
//on parse la date
$arr_date = date_parse_from_format ( "Y:m:d H:i:s" , $dateStr );
//on genere le nouveau nom de fichier.
$file = $arr_date["year"]."/".
$this->formatNine($arr_date["month"])."/".
$this->formatNine($arr_date["day"])."/".
$this->formatNine($arr_date["year"]).$this->formatNine($arr_date["month"]).$this->formatNine($arr_date["day"])."_".
$this->formatNine($arr_date["hour"]).$this->formatNine($arr_date["minute"]).$this->formatNine($arr_date["second"]).".jpg";
print($file);
}
function formatNine($num) {
return ($num < 10)? "0".$num : $num;
}
Le résultat est le même qu'en Java. Là encore des ajustements seront nécessaires afin de gérer les cas limites.
Aucun commentaire:
Enregistrer un commentaire