Subversion Repositories eFlore/Applications.cel

Rev

Rev 632 | Rev 988 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 632 Rev 970
Line 13... Line 13...
13
class ExtracteurMetadonnees {
13
class ExtracteurMetadonnees {
Line 14... Line 14...
14
 
14
 
15
	 public function extraireMetadonnees($chemin_fichier)
15
	 public function extraireMetadonnees($chemin_fichier)
Line 16... Line -...
16
	 {
-
 
17
	 
16
	 {
Line 18... Line -...
18
		$iptc = $this->extraireIptc($chemin_fichier) ;
-
 
19
		$exif = $this->extraireExif($chemin_fichier) ;
-
 
20
		
-
 
21
		$meta = array_merge($exif,$iptc);
-
 
22
		
17
	 	
23
		$this->initialiserSectionsSupplementaires(&$meta) ;
-
 
24
		
-
 
25
		return $meta ;
-
 
26
	 }
-
 
27
	 
-
 
28
	/**
-
 
29
	* Extraction des metadonnées exif 
-
 
30
	**/
-
 
31
	public function extraireExif($chemin_fichier)
-
 
32
	{
-
 
33
		$exif_tab = $this->initialiserTableauExif () ;
-
 
34
	
-
 
35
		$exif = @exif_read_data($chemin_fichier,"EXIF,COMPUTED,IFD0,FILE,COMMENT",true,false);
-
 
36
 
-
 
37
		if ($exif) {
-
 
38
			foreach ($exif as $key => $section) 
-
 
39
			{
-
 
40
			    foreach ($section as $name => $val) 
-
 
41
			    {
-
 
42
					if ($name != "MakerNote")
-
 
43
					{
-
 
44
							$this->decoderValeurExif ($name, $val ,&$exif_tab) ;
-
 
45
					}
18
	 	$metadonnees = $this->decoderMetaDonnees($chemin_fichier);
Line 46... Line 19...
46
			    }
19
	 	
-
 
20
		return $metadonnees ;
-
 
21
	 }
47
			}
22
	 
Line 48... Line -...
48
		}
-
 
49
		
-
 
50
		return $exif_tab ;
-
 
51
	}
-
 
52
	
-
 
53
	/**
-
 
54
	* Extraction des metadonnées iptc 
-
 
55
	**/
-
 
56
	public function extraireIptc($chemin_fichier)
-
 
57
	{
-
 
58
		$iptc_tab = $this->initialiserTableauIptc() ;
-
 
59
		
-
 
60
		// geimagesize renvoie le infos iptc dans le tableau info
-
 
61
		$size = getimagesize($chemin_fichier, $info);
-
 
62
		// s'il existe
-
 
63
		if (isset($info["APP13"])) 
-
 
64
		{
-
 
65
			// on parse les donnees
-
 
66
			$iptc = iptcparse($info["APP13"]);
-
 
67
			if ($iptc) {
-
 
68
				// et on les analyse
-
 
69
				foreach ($iptc as $marker => $section)
-
 
70
				{
-
 
71
					foreach ($section as $nom => $val)
-
 
72
					{
-
 
73
						// pour remplir le tableau de donnees
-
 
74
						$this->decoderValeurIptc($marker, $val ,&$iptc_tab) ;
-
 
75
					}
-
 
76
				}
-
 
77
			}
-
 
78
		}
-
 
79
		
-
 
80
		return $iptc_tab ;
-
 
81
	}
-
 
82
	
-
 
83
	/**
-
 
84
	* Stocke une valeur de metadonnées exif dans le champ du tableau correspondant
23
	private function peutUtiliserExifTool() {
85
	* @param String $nom nom de la valeur
-
 
86
	* @param String $val valeur
-
 
87
	* @param String $data référence vers le tableau où la donnée sera stockée 
-
 
88
	**/
-
 
89
	private function decoderValeurExif($nom, $val ,$data_tab)
-
 
90
	{	
-
 
91
		switch ($nom)
-
 
92
		{
-
 
93
		
-
 
94
			case "Height" :
-
 
95
			$data_tab['ci_meta_height'] = $val  ;
-
 
96
			break ;
-
 
97
			
-
 
98
			case "Width" :
-
 
99
			$data_tab['ci_meta_width'] = $val  ;
-
 
100
			break ;
-
 
101
			
-
 
102
			case "Make" :
-
 
103
				$data_tab['ci_meta_make'] = $val  ;
-
 
104
			break ;
-
 
105
			
-
 
106
			case "Model" :
-
 
107
				$data_tab['ci_meta_model'] = $val ;
-
 
108
			break ;
-
 
109
			
-
 
110
			case "XResolution" :
-
 
111
				$data_tab['ci_meta_x_resolution'] = $val  ;
-
 
112
			break ;
-
 
113
			
-
 
114
			case "YResolution" :
-
 
115
				$data_tab['ci_meta_y_resolution'] = $val ;
-
 
116
			break ;	
-
 
117
				
-
 
118
			case "DateTimeOriginal" :
-
 
119
				$data_tab['ci_meta_date_time'] = $val  ;
-
 
120
			break ;
-
 
121
			
-
 
122
			case "GPS" :
-
 
123
				$data_tab['ci_meta_gps'] = $val  ;
-
 
124
			break ;
-
 
125
			
-
 
126
			case "UserComment" :
-
 
127
				$data_tab['ci_meta_user_comment'] = '"'.$val.'"' ;
-
 
128
			break ;
-
 
129
			
-
 
130
			case "ExposureTime" :
-
 
131
				$data_tab['ci_meta_exif_exposure_time'] = $val ;
-
 
132
			break ;
-
 
133
			
-
 
134
			case "FNumber" :
-
 
135
				$data_tab['ci_meta_exif_f_number'] = $val  ;
-
 
136
			break ;
-
 
137
			
-
 
138
			case "ExifVersion" :
-
 
139
				$data_tab['ci_meta_exif_exif_version'] = $val  ;
-
 
140
			break ;
-
 
141
			
-
 
142
			case "CompressedBitsPerPixel" :
-
 
143
				$data_tab['ci_meta_exif_compressed_bits_per_pixel'] = $val  ;
-
 
144
			break ;
-
 
145
			
-
 
146
			case "ShutterSpeedValue" :
-
 
147
				$data_tab['ci_meta_exif_shutter_speed_value'] = $val  ;
-
 
148
			break ;
-
 
149
			
-
 
150
			case "ApertureValue" :
-
 
151
				$data_tab['ci_meta_exif_aperture_value'] = $val  ;
-
 
152
			break ;
-
 
153
			
-
 
154
			case "ExposureBiasValue" :
-
 
155
				$data_tab['ci_meta_exif_exposure_bias_value'] = $val  ;
-
 
156
			break ;
-
 
157
			
-
 
158
			case "MaxApertureValue" :
-
 
159
				$data_tab['ci_meta_exif_max_aperture_value'] = $val  ;
-
 
160
			break ;
-
 
161
			
-
 
162
			case "MeteringMode" :
-
 
163
				$data_tab['ci_meta_exif_metering_mode'] = $val  ;
-
 
164
			break ;
-
 
165
			
-
 
166
			case "LightSource" :
-
 
167
				$data_tab['ci_meta_exif_light_source'] = $val  ;
-
 
168
			break ;
-
 
169
			
-
 
170
			case "Flash" :
-
 
171
				$data_tab['ci_meta_exif_flash'] = $val  ;
-
 
172
			break ;
-
 
173
			
-
 
174
			case "FocalLength" :
-
 
175
				$data_tab['ci_meta_exif_focal_length'] = $val  ;
-
 
176
			break ;
-
 
177
			
-
 
178
			case "FlashpixVersion" :
-
 
179
				$data_tab['ci_meta_exif_flash_pix_version'] = $val  ;
-
 
180
			break ;
-
 
181
			
-
 
182
			case "ColorSpace" :
-
 
183
				$data_tab['ci_meta_exif_color_space'] = $val  ;
-
 
184
			break ;
-
 
185
			
-
 
186
			case "InteroperabilityOffset" :
-
 
187
				$data_tab['ci_meta_exif_interoperability_offset'] = $val  ;
-
 
188
			break ;
-
 
189
			
-
 
190
			case "FocalPlaneXResolution" :
-
 
191
				$data_tab['ci_meta_exif_focal_plane_x_resolution'] = $val  ;
-
 
192
			break ;
-
 
193
			
-
 
194
			case "FocalPlaneYResolution" :
-
 
195
				$data_tab['ci_meta_exif_focal_plane_y_resolution'] = $val  ;
-
 
196
			break ;
-
 
197
			
-
 
198
			case "FocalPlaneResolutionUnit" :
-
 
199
				$data_tab['ci_meta_exif_focal_plane_resolution_unit'] = $val  ;
-
 
200
			break ;
-
 
201
			
-
 
202
			case "SensingMethod" :
-
 
203
				$data_tab['ci_meta_exif_sensing_method'] = $val  ;
-
 
204
			break ;
-
 
205
			
-
 
206
			case "FileSource" :
-
 
207
				$data_tab['ci_meta_exif_file_source'] = $val  ;
-
 
208
			break ;
-
 
209
			
-
 
210
			case "CustomRendered" :
-
 
211
				$data_tab['ci_meta_exif_custom_rendered'] = $val  ;
-
 
212
			break ;
-
 
213
			
-
 
214
			case "ExposureMode" :
-
 
215
				$data_tab['ci_meta_exif_exposure_mode'] = $val  ;
-
 
216
			break ;
-
 
217
			
-
 
218
			case "WhiteBalance" :
-
 
219
				$data_tab['ci_meta_exif_white_balance'] = $val  ;
-
 
220
			break ;
-
 
221
			
-
 
222
			case "DigitalZoomRatio" :
-
 
223
				$data_tab['ci_meta_exif_digital_zoom_ratio'] = $val  ;
-
 
224
			break ;
-
 
225
			
-
 
226
			case "SceneCaptureType" :
-
 
227
				$data_tab['ci_meta_exif_scene_capture_type'] = $val  ;
-
 
228
			break ;
-
 
229
			
-
 
230
			case "GainControl" :
-
 
231
				$data_tab['ci_meta_exif_gain_control'] = $val  ;
-
 
232
			break ;
-
 
233
			
-
 
234
			case "Contrast" :
-
 
235
				$data_tab['ci_meta_exif_contrast'] = $val  ;
-
 
236
			break ;
-
 
237
			
-
 
238
			case "Saturation" :
-
 
239
				$data_tab['ci_meta_exif_saturation'] = $val  ;
-
 
240
			break ;
-
 
241
			
-
 
242
			case "Sharpness" :
-
 
243
				$data_tab['ci_meta_exif_sharpness'] = $val  ;
-
 
244
			break ;
-
 
245
			
-
 
246
			case "SubjectDistanceRange" :
-
 
247
				$data_tab['ci_meta_exif_subject_distance_range'] = $val  ;
-
 
248
			break ;
-
 
249
			
-
 
250
			default :
-
 
251
				$data_tab['ci_meta_exif_autres'] .= $nom.":".$val.";" ;
-
 
252
		}	
-
 
253
	}
-
 
254
	
-
 
255
	/**
-
 
256
	* Stocke une valeur de metadonnées iptc dans le champ du tableau correspondant
-
 
257
	* @param String $nom nom de la valeur
-
 
258
	* @param String $val valeur
-
 
259
	* @param String $data référence vers le tableau où la donnée sera stockée
-
 
260
	**/
-
 
261
	private function decoderValeurIptc($nom, $val ,$data_tab)
-
 
262
	{	
-
 
263
		switch($nom)
-
 
264
		{
-
 
265
			// mots cles iptc
-
 
266
			case "2#005" :
-
 
267
				$data_tab['ci_meta_iptc_category'] = $val ;
-
 
268
			break;
-
 
269
			
-
 
270
			case "2#025" :
-
 
271
				$data_tab['ci_meta_iptc_mots_cles'] = $val ;
-
 
272
			break;
-
 
273
			
-
 
274
			// champ by line
-
 
275
			case "2#080" :
-
 
276
				$data_tab['ci_meta_iptc_by_line']  = $val  ;
-
 
277
			break ;
-
 
278
			
-
 
279
			// champ by line titre
-
 
280
			case "2#085" :
-
 
281
				$data_tab['ci_meta_iptc_by_line_title'] = $val  ;
-
 
282
			break ;
-
 
283
			
-
 
284
			// ville
-
 
285
			case "2#090" :
-
 
286
				$data_tab['ci_meta_iptc_city'] = $val  ;
-
 
287
			break ;
-
 
288
			
-
 
289
			// sous location
-
 
290
			case "2#092" :
-
 
291
				$data_tab['ci_meta_iptc_sub_location'] = $val ;
-
 
292
			break ;
-
 
293
			
-
 
294
			// etat (pour les us)
-
 
295
			case "2#095" :
-
 
296
				$data_tab['ci_meta_iptc_province_state'] = $val  ;
-
 
297
			break ;
-
 
298
			
-
 
299
			// code pays
-
 
300
			case "2#100" :
-
 
301
				$data_tab['ci_meta_iptc_country_primary_location_code'] = $val  ;
-
 
302
			break ;
-
 
303
			
-
 
304
			// code pays
-
 
305
			case "2#101" :
-
 
306
				$data_tab['ci_meta_iptc_country_name'] = $val  ;
-
 
307
			break ;
-
 
308
			
-
 
309
			// titre principal
-
 
310
			case "2#105" :
-
 
311
				$data_tab['ci_meta_iptc_headline'] = $val  ;
-
 
312
			break ;
-
 
313
			
-
 
314
			// credit
-
 
315
			case "2#110" :
-
 
316
				$data_tab['ci_meta_iptc_credit'] = $val  ;
-
 
317
			break ;
-
 
318
			
-
 
319
			// copyright
-
 
320
			case "2#116" :
-
 
321
				$data_tab['ci_meta_iptc_copyright_notice'] = $val  ;
-
 
322
			break ;
-
 
323
			
-
 
324
			// contact
-
 
325
			case "2#118" :
-
 
326
				$data_tab['ci_meta_iptc_contact'] = $val  ;
-
 
327
			break ;
-
 
328
			
-
 
329
			// autres (pour les champs qu'on ne prend pas en compte)
-
 
330
			default :
-
 
331
				$data_tab['ci_meta_iptc_autres'] .= $nom.":".$val.";" ;
-
 
332
		}
-
 
333
	}
-
 
334
	
-
 
335
	/**
-
 
336
	* Crée le tableau vide pour stocker les iptc pour le ce
-
 
337
	* 
-
 
338
	* @return array $data_tab référence vers le tableau où la donnée sera stockée
-
 
339
	* 
-
 
340
	**/
-
 
341
	private function initialiserTableauIptc()
-
 
342
	{	
-
 
343
		$data_tab = array() ;
-
 
344
		
-
 
345
		$data_tab['ci_meta_iptc_category'] = NULL ;
-
 
346
		
-
 
Line 347... Line 24...
347
		$data_tab['ci_meta_iptc_mots_cles'] = NULL ;
24
		// TODO indiquer ceci dans un fichier de config
Line 348... Line 25...
348
			
25
		return file_exists('/usr/bin/exiftool') && is_executable('/usr/bin/exiftool');
Line -... Line 26...
-
 
26
	}
-
 
27
	
349
		$data_tab['ci_meta_iptc_by_line']  = NULL ;
28
	private function decoderMetadonnees($chemin_image) {
-
 
29
		
-
 
30
		$metadonnees = array();
Line -... Line 31...
-
 
31
		
350
			
32
		if($this->peutUtiliserExifTool()) {
Line -... Line 33...
-
 
33
			
351
		$data_tab['ci_meta_iptc_by_line_title'] = NULL ;
34
			$res = $this->decoderMetadonneesExifTool($chemin_image);
Line 352... Line 35...
352
			
35
			$metadonnees['meta_exif'] = $this->convertirExifVersXML(&$res);
Line 353... Line 36...
353
		$data_tab['ci_meta_iptc_city'] = NULL ;
36
			$metadonnees['meta_iptc'] = $this->convertirIptcVersXML(&$res);
Line 354... Line -...
354
			
-
 
355
		$data_tab['ci_meta_iptc_sub_location'] = NULL ;
-
 
356
			
-
 
357
		$data_tab['ci_meta_iptc_province_state'] = NULL ;
-
 
358
			
-
 
359
		$data_tab['ci_meta_iptc_country_primary_location_code'] = NULL ;
-
 
360
		
-
 
361
		$data_tab['ci_meta_iptc_country_name'] = NULL  ;
37
			$metadonnees['meta_xmp'] = $this->convertirXmpVersXML(&$res);
Line 362... Line -...
362
			
-
 
363
		$data_tab['ci_meta_iptc_headline'] = NULL ;
-
 
364
			
-
 
365
		$data_tab['ci_meta_iptc_credit'] = NULL ;
-
 
366
			
-
 
367
		$data_tab['ci_meta_iptc_copyright_notice'] = NULL ;
-
 
368
			
38
			$metadonnees['meta_makernote'] = $this->convertirMakernoteVersXML(&$res); 
369
		$data_tab['ci_meta_iptc_contact'] = NULL ;
39
			
370
			
-
 
371
		$data_tab['ci_meta_iptc_autres'] .= " " ;
-
 
372
	
-
 
373
		return $data_tab ;		
-
 
374
	}
-
 
Line 375... Line 40...
375
	
40
			$metadonnees['appareil_fabriquant'] = $this->obtenirAppareilFabricant(&$res);
Line 376... Line 41...
376
	/**
41
			$metadonnees['appareil_modele'] = $this->obtenirAppareilModele(&$res);
Line -... Line 42...
-
 
42
			
377
	* Crée le tableau vide pour stocker les exifs pour le cel
43
			$metadonnees['hauteur'] = $this->obtenirHauteur(&$res);
-
 
44
			$metadonnees['largeur'] = $this->obtenirLargeur(&$res);
Line 378... Line 45...
378
	* 
45
			
-
 
46
			$metadonnees['date_prise_de_vue'] = $this->obtenirDatePriseDeVue(&$res);
Line 379... Line 47...
379
	* @return array $data_tab référence vers le tableau où la donnée sera stockée
47
			
Line 380... Line 48...
380
	* 
48
		} else {
Line 381... Line 49...
381
	**/
49
			
-
 
50
		}
-
 
51
		
Line 382... Line 52...
382
	private function initialiserTableauExif()
52
		return $metadonnees;
-
 
53
	}
Line 383... Line 54...
383
	{
54
	
-
 
55
	private function obtenirAppareilFabricant($infos_meta) {
Line -... Line 56...
-
 
56
		
384
		$data_tab = array() ;
57
		$fabriquant = '';
-
 
58
		
Line 385... Line 59...
385
	 
59
		if(isset($infos_meta['EXIF']['Make'])) {
-
 
60
			$fabriquant = $infos_meta['EXIF']['Make']['valeur'];
Line 386... Line 61...
386
		$data_tab['ci_meta_height'] = 0  ;
61
		}	
-
 
62
		
Line 387... Line 63...
387
			
63
		return $fabriquant;	
-
 
64
	}
-
 
65
	
Line 388... Line 66...
388
		$data_tab['ci_meta_width'] = 0  ;
66
	private function obtenirAppareilModele($infos_meta) {
-
 
67
		
Line 389... Line 68...
389
	 
68
		$modele = '';
Line 390... Line 69...
390
		$data_tab['ci_meta_make'] = NULL ;
69
		
Line -... Line 70...
-
 
70
		if(isset($infos_meta['EXIF']['CameraModelName'])) {
391
		
71
			$modele = $infos_meta['EXIF']['CameraModelName']['valeur'];
-
 
72
		}	
Line 392... Line 73...
392
		$data_tab['ci_meta_model'] = NULL ;
73
		
-
 
74
		return $modele;		
Line 393... Line 75...
393
		
75
	}
-
 
76
	
-
 
77
	private function obtenirHauteur($infos_meta) {
Line 394... Line 78...
394
		$data_tab['ci_meta_x_resolution'] = NULL ;
78
		$hauteur = '';
Line -... Line 79...
-
 
79
		
-
 
80
		if(isset($infos_meta['File']['ImageHeight'])) {
-
 
81
			$hauteur = $infos_meta['File']['ImageHeight']['valeur'];
-
 
82
		}	
-
 
83
		
-
 
84
		return $hauteur;		
-
 
85
	}
395
		
86
	
-
 
87
	private function obtenirLargeur($infos_meta) {
-
 
88
		$largeur = '';
Line 396... Line 89...
396
		$data_tab['ci_meta_y_resolution'] = NULL ;
89
		
-
 
90
		if(isset($infos_meta['File']['ImageWidth'])) {
Line 397... Line 91...
397
		
91
			$largeur = $infos_meta['File']['ImageWidth']['valeur'];
-
 
92
		}	
-
 
93
		
Line 398... Line 94...
398
		$data_tab['ci_meta_date_time'] = NULL ;
94
		return $largeur;		
-
 
95
	}
Line -... Line 96...
-
 
96
	
-
 
97
	private function obtenirDatePriseDeVue($infos_meta) {
399
		
98
		
-
 
99
		$date = '';
Line 400... Line 100...
400
		$data_tab['ci_meta_gps'] = NULL ;
100
		
Line 401... Line 101...
401
	
101
		if(isset($infos_meta['EXIF']['DateTimeOriginal'])) {
Line 402... Line 102...
402
		$data_tab['ci_meta_user_comment'] = NULL ;
102
			$date = $infos_meta['EXIF']['DateTimeOriginal']['valeur'];
-
 
103
		}	
-
 
104
		
Line 403... Line 105...
403
	
105
		return $date;		
Line 404... Line 106...
404
		$data_tab['ci_meta_exif_exposure_time'] = NULL ;
106
	}
-
 
107
	
-
 
108
	private function decoderMetadonneesExifTool($chemin_image) {
-
 
109
		$metadata = array();
-
 
110
		$res = exec('/usr/bin/exiftool -g -D '.$chemin_image, $metadata);	
-
 
111
		
-
 
112
		$metadata_decodees = array();
-
 
113
		
Line 405... Line 114...
405
	
114
		$categorie = '';
-
 
115
		foreach($metadata as &$data) {
Line 406... Line 116...
406
		$data_tab['ci_meta_exif_f_number'] = NULL ;
116
			if($this->estUnSeparateurCategorieExifTool($data)) {
Line -... Line 117...
-
 
117
				$categorie = trim(str_replace('----','',$data));
-
 
118
			} else {
-
 
119
				$data_decodee = $this->parserValeurMetadonneeExifTool($data);
407
	
120
				$cle_metadonnee = str_replace(' ', '', $data_decodee['cle']);
-
 
121
				$metadata_decodees[$categorie][$cle_metadonnee] = $data_decodee;
-
 
122
			}
-
 
123
		}
-
 
124
				
Line 408... Line 125...
408
		$data_tab['ci_meta_exif_exif_version'] = NULL ;
125
		return $metadata_decodees;
-
 
126
	}
Line 409... Line 127...
409
	
127
	
Line -... Line 128...
-
 
128
	private function estUnSeparateurCategorieExifTool($data) {
-
 
129
		return preg_match('^---- (.)* ----^',$data);	
-
 
130
	}
410
		$data_tab['ci_meta_exif_compressed_bits_per_pixel'] = NULL ;
131
	
-
 
132
	private function parserValeurMetadonneeExifTool($data) {
-
 
133
		$cle_valeur = explode(':',$data);
-
 
134
		
-
 
135
		$valeur = '';
Line 411... Line 136...
411
	
136
		if(count($cle_valeur) == 2) {
-
 
137
			$valeur	= trim($cle_valeur[1]);
Line 412... Line 138...
412
		$data_tab['ci_meta_exif_shutter_speed_value'] = NULL ;
138
		}
Line -... Line 139...
-
 
139
		
413
	
140
		$id_cle = explode(' ',trim($cle_valeur[0]),2);
-
 
141
		
-
 
142
		$id_cle[1] = str_replace(array('-','/'),'',$id_cle[1]);
-
 
143
				
414
		$data_tab['ci_meta_exif_aperture_value'] = NULL ;
144
		$cle_id_valeur = array('cle' => $id_cle[1], 'id' => str_replace('-','',$id_cle[0]), 'valeur' => $valeur);
-
 
145
		return $cle_id_valeur;		
-
 
146
	}
Line 415... Line -...
415
	
-
 
416
		$data_tab['ci_meta_exif_exposure_bias_value'] = NULL ;
-
 
417
	
-
 
418
		$data_tab['ci_meta_exif_max_aperture_value'] = NULL ;
-
 
419
	
-
 
420
		$data_tab['ci_meta_exif_metering_mode'] = NULL ;
-
 
421
	
-
 
422
		$data_tab['ci_meta_exif_flash'] = NULL ;
-
 
423
		
-
 
424
		$data_tab['ci_meta_exif_light_source'] = NULL ;
-
 
425
	
-
 
426
		$data_tab['ci_meta_exif_focal_length'] = NULL ;
147
	
427
	
148
	private function convertirExifVersXML($donnees_meta) {
428
		$data_tab['ci_meta_exif_flash_pix_version'] = NULL ;
149
 
429
	
150
		$xml = '<?xml version="1.0" encoding="UTF-8" ?>';
430
		$data_tab['ci_meta_exif_color_space'] = NULL ;
151
		$xml .= '<exif>';