20,7 → 20,7 |
|
$meta = array_merge($exif,$iptc); |
|
$this->initialiserSectionsSupplementaires(&$meta) ; |
$this->initialiserSectionsSupplementaires($meta) ; |
|
return $meta ; |
} |
28,25 → 28,19 |
/** |
* Extraction des metadonnées exif |
**/ |
public function extraireExif($chemin_fichier) |
{ |
public function extraireExif($chemin_fichier) { |
$exif_tab = $this->initialiserTableauExif () ; |
|
$exif = @exif_read_data($chemin_fichier,"EXIF,COMPUTED,IFD0,FILE,COMMENT",true,false); |
|
if ($exif) { |
foreach ($exif as $key => $section) |
{ |
foreach ($section as $name => $val) |
{ |
if ($name != "MakerNote") |
{ |
$this->decoderValeurExif ($name, $val ,&$exif_tab) ; |
foreach ($exif as $key => $section) { |
foreach ($section as $name => $val) { |
if ($name != "MakerNote") { |
$this->decoderValeurExif($name, $val , $exif_tab); |
} |
} |
} |
} |
|
return $exif_tab ; |
} |
|
53,25 → 47,21 |
/** |
* Extraction des metadonnées iptc |
**/ |
public function extraireIptc($chemin_fichier) |
{ |
public function extraireIptc($chemin_fichier) { |
$iptc_tab = $this->initialiserTableauIptc() ; |
|
// geimagesize renvoie le infos iptc dans le tableau info |
$size = getimagesize($chemin_fichier, $info); |
// s'il existe |
if (isset($info["APP13"])) |
{ |
if (isset($info["APP13"])) { |
// on parse les donnees |
$iptc = iptcparse($info["APP13"]); |
if ($iptc) { |
// et on les analyse |
foreach ($iptc as $marker => $section) |
{ |
foreach ($section as $nom => $val) |
{ |
foreach ($iptc as $marker => $section) { |
foreach ($section as $nom => $val) { |
// pour remplir le tableau de donnees |
$this->decoderValeurIptc($marker, $val ,&$iptc_tab) ; |
$this->decoderValeurIptc($marker, $val, $iptc_tab); |
} |
} |
} |
86,11 → 76,8 |
* @param String $val valeur |
* @param String $data référence vers le tableau où la donnée sera stockée |
**/ |
private function decoderValeurExif($nom, $val ,$data_tab) |
{ |
switch ($nom) |
{ |
|
private function decoderValeurExif($nom, $val, &$data_tab) { |
switch ($nom) { |
case "Height" : |
$data_tab['ci_meta_height'] = $val ; |
break ; |
258,10 → 245,8 |
* @param String $val valeur |
* @param String $data référence vers le tableau où la donnée sera stockée |
**/ |
private function decoderValeurIptc($nom, $val ,$data_tab) |
{ |
switch($nom) |
{ |
private function decoderValeurIptc($nom, $val, &$data_tab) { |
switch($nom) { |
// mots cles iptc |
case "2#005" : |
$data_tab['ci_meta_iptc_category'] = $val ; |
338,8 → 323,7 |
* @return array $data_tab référence vers le tableau où la donnée sera stockée |
* |
**/ |
private function initialiserTableauIptc() |
{ |
private function initialiserTableauIptc() { |
$data_tab = array() ; |
|
$data_tab['ci_meta_iptc_category'] = NULL ; |
368,7 → 352,7 |
|
$data_tab['ci_meta_iptc_contact'] = NULL ; |
|
$data_tab['ci_meta_iptc_autres'] .= " " ; |
$data_tab['ci_meta_iptc_autres'] = " "; |
|
return $data_tab ; |
} |
379,8 → 363,7 |
* @return array $data_tab référence vers le tableau où la donnée sera stockée |
* |
**/ |
private function initialiserTableauExif() |
{ |
private function initialiserTableauExif() { |
$data_tab = array() ; |
|
$data_tab['ci_meta_height'] = 0 ; |
461,7 → 444,7 |
|
$data_tab['ci_meta_exif_subject_distance_range'] = NULL ; |
|
$data_tab['ci_meta_exif_autres'] .= " " ; |
$data_tab['ci_meta_exif_autres'] = " "; |
|
return $data_tab ; |
} |
472,8 → 455,7 |
* @return array $tab référence vers le tableau de metadonnées |
* |
**/ |
private function InitialiserSectionsSupplementaires($tab) |
{ |
private function InitialiserSectionsSupplementaires(&$tab) { |
$tab['ci_meta_exif_autres'] .= " " ; |
$tab['ci_meta_iptc_autres'] .= " " ; |
$tab['ci_nom_original'] = NULL ; |