Subversion Repositories eFlore/Applications.cel

Rev

Rev 623 | Rev 970 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 623 Rev 632
1
<?php
1
<?php
2
/**
2
/**
3
 * Classe d'extraction de metadonnées afin de les mettre dans 
3
 * Classe d'extraction de metadonnées afin de les mettre dans 
4
 * un tableau au format du cel
4
 * un tableau au format du cel
5
 * Encodage en entrée : utf8
5
 * Encodage en entrée : utf8
6
 * Encodage en sortie : utf8
6
 * Encodage en sortie : utf8
7
 *
7
 *
8
 * @author Aurélien PERONNET <aurelien@tela-botanica.org>
8
 * @author Aurélien PERONNET <aurelien@tela-botanica.org>
9
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
9
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
10
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
10
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
11
 * @version $Id$
11
 * @version $Id$
12
 */
12
 */
13
class ExtracteurMetadonnees() {
13
class ExtracteurMetadonnees {
14
 
14
 
15
	 public function extraireMetadonnees($chemin_fichier)
15
	 public function extraireMetadonnees($chemin_fichier)
16
	 {
16
	 {
17
	 
17
	 
18
		$iptc = $this->extraireIptc($chemin_fichier) ;
18
		$iptc = $this->extraireIptc($chemin_fichier) ;
19
		$exif = $this->extraireExif($chemin_fichier) ;
19
		$exif = $this->extraireExif($chemin_fichier) ;
20
		
20
		
21
		$meta = array_merge($exif,$iptc);
21
		$meta = array_merge($exif,$iptc);
22
		
22
		
23
		$this->initialiserSectionsSupplementaires(&$meta) ;
23
		$this->initialiserSectionsSupplementaires(&$meta) ;
24
		
24
		
25
		return $meta ;
25
		return $meta ;
26
	 }
26
	 }
27
	 
27
	 
28
	/**
28
	/**
29
	* Extraction des metadonnées exif 
29
	* Extraction des metadonnées exif 
30
	**/
30
	**/
31
	public function extraireExif($chemin_fichier)
31
	public function extraireExif($chemin_fichier)
32
	{
32
	{
33
		$exif_tab = $this->initialiserTableauExif() ;
33
		$exif_tab = $this->initialiserTableauExif () ;
34
	
34
	
-
 
35
		$exif = @exif_read_data($chemin_fichier,"EXIF,COMPUTED,IFD0,FILE,COMMENT",true,false);
35
		$exif = exif_read_data($url,"EXIF,COMPUTED,IFD0,FILE,COMMENT",true,false);
36
 
36
					
37
		if ($exif) {
37
		foreach ($exif as $key => $section) 
38
			foreach ($exif as $key => $section) 
38
		{
39
			{
39
		    foreach ($section as $name => $val) 
40
			    foreach ($section as $name => $val) 
40
		    {
41
			    {
41
				if($name != "MakerNote")
42
					if ($name != "MakerNote")
42
				{
43
					{
43
						$this->decoderValeurExif($name, $val ,&$exif_tab) ;
44
							$this->decoderValeurExif ($name, $val ,&$exif_tab) ;
44
				}
45
					}
45
		    }
46
			    }
46
		}
47
			}
-
 
48
		}
47
		
49
		
48
		return $exif_tab ;
50
		return $exif_tab ;
49
	}
51
	}
50
	
52
	
51
	/**
53
	/**
52
	* Extraction des metadonnées iptc 
54
	* Extraction des metadonnées iptc 
53
	**/
55
	**/
54
	public function extraireIptc($chemin_fichier)
56
	public function extraireIptc($chemin_fichier)
55
	{
57
	{
56
		$iptc_tab = $this->initialiserTableauIptc() ;
58
		$iptc_tab = $this->initialiserTableauIptc() ;
57
		
59
		
58
		// geimagesize renvoie le infos iptc dans le tableau info
60
		// geimagesize renvoie le infos iptc dans le tableau info
59
		$size = getimagesize($chemin_fichier, $info);
61
		$size = getimagesize($chemin_fichier, $info);
60
		// s'il existe
62
		// s'il existe
61
		if (isset($info["APP13"])) 
63
		if (isset($info["APP13"])) 
62
		{
64
		{
63
			// on parse les donnees
65
			// on parse les donnees
64
			$iptc = iptcparse($info["APP13"]);
66
			$iptc = iptcparse($info["APP13"]);
-
 
67
			if ($iptc) {
65
			// et on les analyse
68
				// et on les analyse
66
			foreach($iptc as $marker => $section)
69
				foreach ($iptc as $marker => $section)
67
			{
70
				{
68
				foreach($section as $nom => $val)
71
					foreach ($section as $nom => $val)
69
				{
72
					{
70
					// pour remplir le tableau de donnees
73
						// pour remplir le tableau de donnees
71
					decoderValeurIptc($marker, $val ,&$iptc_tab) ;
74
						$this->decoderValeurIptc($marker, $val ,&$iptc_tab) ;
-
 
75
					}
72
				}
76
				}
73
			}
77
			}
74
		}
78
		}
75
		
79
		
76
		return $iptc_tab ;
80
		return $iptc_tab ;
77
	}
81
	}
78
	
82
	
79
	/**
83
	/**
80
	* Stocke une valeur de metadonnées exif dans le champ du tableau correspondant
84
	* Stocke une valeur de metadonnées exif dans le champ du tableau correspondant
81
	* @param String $nom nom de la valeur
85
	* @param String $nom nom de la valeur
82
	* @param String $val valeur
86
	* @param String $val valeur
83
	* @param String $data référence vers le tableau où la donnée sera stockée 
87
	* @param String $data référence vers le tableau où la donnée sera stockée 
84
	**/
88
	**/
85
	private function decoderValeurExif($nom, $val ,$data_tab)
89
	private function decoderValeurExif($nom, $val ,$data_tab)
86
	{	
90
	{	
87
		switch($nom)
91
		switch ($nom)
88
		{
92
		{
89
		
93
		
90
			case "Height" :
94
			case "Height" :
91
			$data_tab['ci_meta_height'] = $val  ;
95
			$data_tab['ci_meta_height'] = $val  ;
92
			break ;
96
			break ;
93
			
97
			
94
			case "Width" :
98
			case "Width" :
95
			$data_tab['ci_meta_width'] = $val  ;
99
			$data_tab['ci_meta_width'] = $val  ;
96
			break ;
100
			break ;
97
			
101
			
98
			case "Make" :
102
			case "Make" :
99
				$data_tab['ci_meta_make'] = $val  ;
103
				$data_tab['ci_meta_make'] = $val  ;
100
			break ;
104
			break ;
101
			
105
			
102
			case "Model" :
106
			case "Model" :
103
				$data_tab['ci_meta_model'] = $val ;
107
				$data_tab['ci_meta_model'] = $val ;
104
			break ;
108
			break ;
105
			
109
			
106
			case "XResolution" :
110
			case "XResolution" :
107
				$data_tab['ci_meta_x_resolution'] = $val  ;
111
				$data_tab['ci_meta_x_resolution'] = $val  ;
108
			break ;
112
			break ;
109
			
113
			
110
			case "YResolution" :
114
			case "YResolution" :
111
				$data_tab['ci_meta_y_resolution'] = $val ;
115
				$data_tab['ci_meta_y_resolution'] = $val ;
112
			break ;	
116
			break ;	
113
				
117
				
114
			case "DateTimeOriginal" :
118
			case "DateTimeOriginal" :
115
				$data_tab['ci_meta_date_time'] = $val  ;
119
				$data_tab['ci_meta_date_time'] = $val  ;
116
			break ;
120
			break ;
117
			
121
			
118
			case "GPS" :
122
			case "GPS" :
119
				$data_tab['ci_meta_gps'] = $val  ;
123
				$data_tab['ci_meta_gps'] = $val  ;
120
			break ;
124
			break ;
121
			
125
			
122
			case "UserComment" :
126
			case "UserComment" :
123
				$data_tab['ci_meta_user_comment'] = '"'.$val.'"' ;
127
				$data_tab['ci_meta_user_comment'] = '"'.$val.'"' ;
124
			break ;
128
			break ;
125
			
129
			
126
			case "ExposureTime" :
130
			case "ExposureTime" :
127
				$data_tab['ci_meta_exif_exposure_time'] = $val ;
131
				$data_tab['ci_meta_exif_exposure_time'] = $val ;
128
			break ;
132
			break ;
129
			
133
			
130
			case "FNumber" :
134
			case "FNumber" :
131
				$data_tab['ci_meta_exif_f_number'] = $val  ;
135
				$data_tab['ci_meta_exif_f_number'] = $val  ;
132
			break ;
136
			break ;
133
			
137
			
134
			case "ExifVersion" :
138
			case "ExifVersion" :
135
				$data_tab['ci_meta_exif_exif_version'] = $val  ;
139
				$data_tab['ci_meta_exif_exif_version'] = $val  ;
136
			break ;
140
			break ;
137
			
141
			
138
			case "CompressedBitsPerPixel" :
142
			case "CompressedBitsPerPixel" :
139
				$data_tab['ci_meta_exif_compressed_bits_per_pixel'] = $val  ;
143
				$data_tab['ci_meta_exif_compressed_bits_per_pixel'] = $val  ;
140
			break ;
144
			break ;
141
			
145
			
142
			case "ShutterSpeedValue" :
146
			case "ShutterSpeedValue" :
143
				$data_tab['ci_meta_exif_shutter_speed_value'] = $val  ;
147
				$data_tab['ci_meta_exif_shutter_speed_value'] = $val  ;
144
			break ;
148
			break ;
145
			
149
			
146
			case "ApertureValue" :
150
			case "ApertureValue" :
147
				$data_tab['ci_meta_exif_aperture_value'] = $val  ;
151
				$data_tab['ci_meta_exif_aperture_value'] = $val  ;
148
			break ;
152
			break ;
149
			
153
			
150
			case "ExposureBiasValue" :
154
			case "ExposureBiasValue" :
151
				$data_tab['ci_meta_exif_exposure_bias_value'] = $val  ;
155
				$data_tab['ci_meta_exif_exposure_bias_value'] = $val  ;
152
			break ;
156
			break ;
153
			
157
			
154
			case "MaxApertureValue" :
158
			case "MaxApertureValue" :
155
				$data_tab['ci_meta_exif_max_aperture_value'] = $val  ;
159
				$data_tab['ci_meta_exif_max_aperture_value'] = $val  ;
156
			break ;
160
			break ;
157
			
161
			
158
			case "MeteringMode" :
162
			case "MeteringMode" :
159
				$data_tab['ci_meta_exif_metering_mode'] = $val  ;
163
				$data_tab['ci_meta_exif_metering_mode'] = $val  ;
160
			break ;
164
			break ;
161
			
165
			
162
			case "LightSource" :
166
			case "LightSource" :
163
				$data_tab['ci_meta_exif_light_source'] = $val  ;
167
				$data_tab['ci_meta_exif_light_source'] = $val  ;
164
			break ;
168
			break ;
165
			
169
			
166
			case "Flash" :
170
			case "Flash" :
167
				$data_tab['ci_meta_exif_flash'] = $val  ;
171
				$data_tab['ci_meta_exif_flash'] = $val  ;
168
			break ;
172
			break ;
169
			
173
			
170
			case "FocalLength" :
174
			case "FocalLength" :
171
				$data_tab['ci_meta_exif_focal_length'] = $val  ;
175
				$data_tab['ci_meta_exif_focal_length'] = $val  ;
172
			break ;
176
			break ;
173
			
177
			
174
			case "FlashpixVersion" :
178
			case "FlashpixVersion" :
175
				$data_tab['ci_meta_exif_flash_pix_version'] = $val  ;
179
				$data_tab['ci_meta_exif_flash_pix_version'] = $val  ;
176
			break ;
180
			break ;
177
			
181
			
178
			case "ColorSpace" :
182
			case "ColorSpace" :
179
				$data_tab['ci_meta_exif_color_space'] = $val  ;
183
				$data_tab['ci_meta_exif_color_space'] = $val  ;
180
			break ;
184
			break ;
181
			
185
			
182
			case "InteroperabilityOffset" :
186
			case "InteroperabilityOffset" :
183
				$data_tab['ci_meta_exif_interoperability_offset'] = $val  ;
187
				$data_tab['ci_meta_exif_interoperability_offset'] = $val  ;
184
			break ;
188
			break ;
185
			
189
			
186
			case "FocalPlaneXResolution" :
190
			case "FocalPlaneXResolution" :
187
				$data_tab['ci_meta_exif_focal_plane_x_resolution'] = $val  ;
191
				$data_tab['ci_meta_exif_focal_plane_x_resolution'] = $val  ;
188
			break ;
192
			break ;
189
			
193
			
190
			case "FocalPlaneYResolution" :
194
			case "FocalPlaneYResolution" :
191
				$data_tab['ci_meta_exif_focal_plane_y_resolution'] = $val  ;
195
				$data_tab['ci_meta_exif_focal_plane_y_resolution'] = $val  ;
192
			break ;
196
			break ;
193
			
197
			
194
			case "FocalPlaneResolutionUnit" :
198
			case "FocalPlaneResolutionUnit" :
195
				$data_tab['ci_meta_exif_focal_plane_resolution_unit'] = $val  ;
199
				$data_tab['ci_meta_exif_focal_plane_resolution_unit'] = $val  ;
196
			break ;
200
			break ;
197
			
201
			
198
			case "SensingMethod" :
202
			case "SensingMethod" :
199
				$data_tab['ci_meta_exif_sensing_method'] = $val  ;
203
				$data_tab['ci_meta_exif_sensing_method'] = $val  ;
200
			break ;
204
			break ;
201
			
205
			
202
			case "FileSource" :
206
			case "FileSource" :
203
				$data_tab['ci_meta_exif_file_source'] = $val  ;
207
				$data_tab['ci_meta_exif_file_source'] = $val  ;
204
			break ;
208
			break ;
205
			
209
			
206
			case "CustomRendered" :
210
			case "CustomRendered" :
207
				$data_tab['ci_meta_exif_custom_rendered'] = $val  ;
211
				$data_tab['ci_meta_exif_custom_rendered'] = $val  ;
208
			break ;
212
			break ;
209
			
213
			
210
			case "ExposureMode" :
214
			case "ExposureMode" :
211
				$data_tab['ci_meta_exif_exposure_mode'] = $val  ;
215
				$data_tab['ci_meta_exif_exposure_mode'] = $val  ;
212
			break ;
216
			break ;
213
			
217
			
214
			case "WhiteBalance" :
218
			case "WhiteBalance" :
215
				$data_tab['ci_meta_exif_white_balance'] = $val  ;
219
				$data_tab['ci_meta_exif_white_balance'] = $val  ;
216
			break ;
220
			break ;
217
			
221
			
218
			case "DigitalZoomRatio" :
222
			case "DigitalZoomRatio" :
219
				$data_tab['ci_meta_exif_digital_zoom_ratio'] = $val  ;
223
				$data_tab['ci_meta_exif_digital_zoom_ratio'] = $val  ;
220
			break ;
224
			break ;
221
			
225
			
222
			case "SceneCaptureType" :
226
			case "SceneCaptureType" :
223
				$data_tab['ci_meta_exif_scene_capture_type'] = $val  ;
227
				$data_tab['ci_meta_exif_scene_capture_type'] = $val  ;
224
			break ;
228
			break ;
225
			
229
			
226
			case "GainControl" :
230
			case "GainControl" :
227
				$data_tab['ci_meta_exif_gain_control'] = $val  ;
231
				$data_tab['ci_meta_exif_gain_control'] = $val  ;
228
			break ;
232
			break ;
229
			
233
			
230
			case "Contrast" :
234
			case "Contrast" :
231
				$data_tab['ci_meta_exif_contrast'] = $val  ;
235
				$data_tab['ci_meta_exif_contrast'] = $val  ;
232
			break ;
236
			break ;
233
			
237
			
234
			case "Saturation" :
238
			case "Saturation" :
235
				$data_tab['ci_meta_exif_saturation'] = $val  ;
239
				$data_tab['ci_meta_exif_saturation'] = $val  ;
236
			break ;
240
			break ;
237
			
241
			
238
			case "Sharpness" :
242
			case "Sharpness" :
239
				$data_tab['ci_meta_exif_sharpness'] = $val  ;
243
				$data_tab['ci_meta_exif_sharpness'] = $val  ;
240
			break ;
244
			break ;
241
			
245
			
242
			case "SubjectDistanceRange" :
246
			case "SubjectDistanceRange" :
243
				$data_tab['ci_meta_exif_subject_distance_range'] = $val  ;
247
				$data_tab['ci_meta_exif_subject_distance_range'] = $val  ;
244
			break ;
248
			break ;
245
			
249
			
246
			default :
250
			default :
247
				$data_tab['ci_meta_exif_autres'] .= $nom.":".$val.";" ;
251
				$data_tab['ci_meta_exif_autres'] .= $nom.":".$val.";" ;
248
		}	
252
		}	
249
	}
253
	}
250
	
254
	
251
	/**
255
	/**
252
	* Stocke une valeur de metadonnées iptc dans le champ du tableau correspondant
256
	* Stocke une valeur de metadonnées iptc dans le champ du tableau correspondant
253
	* @param String $nom nom de la valeur
257
	* @param String $nom nom de la valeur
254
	* @param String $val valeur
258
	* @param String $val valeur
255
	* @param String $data référence vers le tableau où la donnée sera stockée
259
	* @param String $data référence vers le tableau où la donnée sera stockée
256
	**/
260
	**/
257
	private function decoderValeurIptc($nom, $val ,$data_tab)
261
	private function decoderValeurIptc($nom, $val ,$data_tab)
258
	{	
262
	{	
259
		switch($nom)
263
		switch($nom)
260
		{
264
		{
261
			// mots cles iptc
265
			// mots cles iptc
262
			case "2#005" :
266
			case "2#005" :
263
				$data_tab['ci_meta_iptc_category'] = $val ;
267
				$data_tab['ci_meta_iptc_category'] = $val ;
264
			break;
268
			break;
265
			
269
			
266
			case "2#025" :
270
			case "2#025" :
267
				$data_tab['ci_meta_iptc_mots_cles'] = $val ;
271
				$data_tab['ci_meta_iptc_mots_cles'] = $val ;
268
			break;
272
			break;
269
			
273
			
270
			// champ by line
274
			// champ by line
271
			case "2#080" :
275
			case "2#080" :
272
				$data_tab['ci_meta_iptc_by_line']  = $val  ;
276
				$data_tab['ci_meta_iptc_by_line']  = $val  ;
273
			break ;
277
			break ;
274
			
278
			
275
			// champ by line titre
279
			// champ by line titre
276
			case "2#085" :
280
			case "2#085" :
277
				$data_tab['ci_meta_iptc_by_line_title'] = $val  ;
281
				$data_tab['ci_meta_iptc_by_line_title'] = $val  ;
278
			break ;
282
			break ;
279
			
283
			
280
			// ville
284
			// ville
281
			case "2#090" :
285
			case "2#090" :
282
				$data_tab['ci_meta_iptc_city'] = $val  ;
286
				$data_tab['ci_meta_iptc_city'] = $val  ;
283
			break ;
287
			break ;
284
			
288
			
285
			// sous location
289
			// sous location
286
			case "2#092" :
290
			case "2#092" :
287
				$data_tab['ci_meta_iptc_sub_location'] = $val ;
291
				$data_tab['ci_meta_iptc_sub_location'] = $val ;
288
			break ;
292
			break ;
289
			
293
			
290
			// etat (pour les us)
294
			// etat (pour les us)
291
			case "2#095" :
295
			case "2#095" :
292
				$data_tab['ci_meta_iptc_province_state'] = $val  ;
296
				$data_tab['ci_meta_iptc_province_state'] = $val  ;
293
			break ;
297
			break ;
294
			
298
			
295
			// code pays
299
			// code pays
296
			case "2#100" :
300
			case "2#100" :
297
				$data_tab['ci_meta_iptc_country_primary_location_code'] = $val  ;
301
				$data_tab['ci_meta_iptc_country_primary_location_code'] = $val  ;
298
			break ;
302
			break ;
299
			
303
			
300
			// code pays
304
			// code pays
301
			case "2#101" :
305
			case "2#101" :
302
				$data_tab['ci_meta_iptc_country_name'] = $val  ;
306
				$data_tab['ci_meta_iptc_country_name'] = $val  ;
303
			break ;
307
			break ;
304
			
308
			
305
			// titre principal
309
			// titre principal
306
			case "2#105" :
310
			case "2#105" :
307
				$data_tab['ci_meta_iptc_headline'] = $val  ;
311
				$data_tab['ci_meta_iptc_headline'] = $val  ;
308
			break ;
312
			break ;
309
			
313
			
310
			// credit
314
			// credit
311
			case "2#110" :
315
			case "2#110" :
312
				$data_tab['ci_meta_iptc_credit'] = $val  ;
316
				$data_tab['ci_meta_iptc_credit'] = $val  ;
313
			break ;
317
			break ;
314
			
318
			
315
			// copyright
319
			// copyright
316
			case "2#116" :
320
			case "2#116" :
317
				$data_tab['ci_meta_iptc_copyright_notice'] = $val  ;
321
				$data_tab['ci_meta_iptc_copyright_notice'] = $val  ;
318
			break ;
322
			break ;
319
			
323
			
320
			// contact
324
			// contact
321
			case "2#118" :
325
			case "2#118" :
322
				$data_tab['ci_meta_iptc_contact'] = $val  ;
326
				$data_tab['ci_meta_iptc_contact'] = $val  ;
323
			break ;
327
			break ;
324
			
328
			
325
			// autres (pour les champs qu'on ne prend pas en compte)
329
			// autres (pour les champs qu'on ne prend pas en compte)
326
			default :
330
			default :
327
				$data_tab['ci_meta_iptc_autres'] .= $nom.":".$val.";" ;
331
				$data_tab['ci_meta_iptc_autres'] .= $nom.":".$val.";" ;
328
		}
332
		}
329
	}
333
	}
330
	
334
	
331
	/**
335
	/**
332
	* Crée le tableau vide pour stocker les iptc pour le ce
336
	* Crée le tableau vide pour stocker les iptc pour le ce
333
	* 
337
	* 
334
	* @return array $data_tab référence vers le tableau où la donnée sera stockée
338
	* @return array $data_tab référence vers le tableau où la donnée sera stockée
335
	* 
339
	* 
336
	**/
340
	**/
337
	private function initialiserTableauIptc()
341
	private function initialiserTableauIptc()
338
	{	
342
	{	
339
		$data_tab = array() ;
343
		$data_tab = array() ;
340
		
344
		
341
		$data_tab['ci_meta_iptc_category'] = NULL ;
345
		$data_tab['ci_meta_iptc_category'] = NULL ;
342
		
346
		
343
		$data_tab['ci_meta_iptc_mots_cles'] = NULL ;
347
		$data_tab['ci_meta_iptc_mots_cles'] = NULL ;
344
			
348
			
345
		$data_tab['ci_meta_iptc_by_line']  = NULL ;
349
		$data_tab['ci_meta_iptc_by_line']  = NULL ;
346
			
350
			
347
		$data_tab['ci_meta_iptc_by_line_title'] = NULL ;
351
		$data_tab['ci_meta_iptc_by_line_title'] = NULL ;
348
			
352
			
349
		$data_tab['ci_meta_iptc_city'] = NULL ;
353
		$data_tab['ci_meta_iptc_city'] = NULL ;
350
			
354
			
351
		$data_tab['ci_meta_iptc_sub_location'] = NULL ;
355
		$data_tab['ci_meta_iptc_sub_location'] = NULL ;
352
			
356
			
353
		$data_tab['ci_meta_iptc_province_state'] = NULL ;
357
		$data_tab['ci_meta_iptc_province_state'] = NULL ;
354
			
358
			
355
		$data_tab['ci_meta_iptc_country_primary_location_code'] = NULL ;
359
		$data_tab['ci_meta_iptc_country_primary_location_code'] = NULL ;
356
		
360
		
357
		$data_tab['ci_meta_iptc_country_name'] = NULL  ;
361
		$data_tab['ci_meta_iptc_country_name'] = NULL  ;
358
			
362
			
359
		$data_tab['ci_meta_iptc_headline'] = NULL ;
363
		$data_tab['ci_meta_iptc_headline'] = NULL ;
360
			
364
			
361
		$data_tab['ci_meta_iptc_credit'] = NULL ;
365
		$data_tab['ci_meta_iptc_credit'] = NULL ;
362
			
366
			
363
		$data_tab['ci_meta_iptc_copyright_notice'] = NULL ;
367
		$data_tab['ci_meta_iptc_copyright_notice'] = NULL ;
364
			
368
			
365
		$data_tab['ci_meta_iptc_contact'] = NULL ;
369
		$data_tab['ci_meta_iptc_contact'] = NULL ;
366
			
370
			
367
		$data_tab['ci_meta_iptc_autres'] .= " " ;
371
		$data_tab['ci_meta_iptc_autres'] .= " " ;
368
	
372
	
369
		return $data_tab ;		
373
		return $data_tab ;		
370
	}
374
	}
371
	
375
	
372
	/**
376
	/**
373
	* Crée le tableau vide pour stocker les exifs pour le cel
377
	* Crée le tableau vide pour stocker les exifs pour le cel
374
	* 
378
	* 
375
	* @return array $data_tab référence vers le tableau où la donnée sera stockée
379
	* @return array $data_tab référence vers le tableau où la donnée sera stockée
376
	* 
380
	* 
377
	**/
381
	**/
378
	private function initialiserTableauExif()
382
	private function initialiserTableauExif()
379
	{
383
	{
380
		$data_tab = array() ;
384
		$data_tab = array() ;
381
	 
385
	 
382
		$data_tab['ci_meta_height'] = 0  ;
386
		$data_tab['ci_meta_height'] = 0  ;
383
			
387
			
384
		$data_tab['ci_meta_width'] = 0  ;
388
		$data_tab['ci_meta_width'] = 0  ;
385
	 
389
	 
386
		$data_tab['ci_meta_make'] = NULL ;
390
		$data_tab['ci_meta_make'] = NULL ;
387
		
391
		
388
		$data_tab['ci_meta_model'] = NULL ;
392
		$data_tab['ci_meta_model'] = NULL ;
389
		
393
		
390
		$data_tab['ci_meta_x_resolution'] = NULL ;
394
		$data_tab['ci_meta_x_resolution'] = NULL ;
391
		
395
		
392
		$data_tab['ci_meta_y_resolution'] = NULL ;
396
		$data_tab['ci_meta_y_resolution'] = NULL ;
393
		
397
		
394
		$data_tab['ci_meta_date_time'] = NULL ;
398
		$data_tab['ci_meta_date_time'] = NULL ;
395
		
399
		
396
		$data_tab['ci_meta_gps'] = NULL ;
400
		$data_tab['ci_meta_gps'] = NULL ;
397
	
401
	
398
		$data_tab['ci_meta_user_comment'] = NULL ;
402
		$data_tab['ci_meta_user_comment'] = NULL ;
399
	
403
	
400
		$data_tab['ci_meta_exif_exposure_time'] = NULL ;
404
		$data_tab['ci_meta_exif_exposure_time'] = NULL ;
401
	
405
	
402
		$data_tab['ci_meta_exif_f_number'] = NULL ;
406
		$data_tab['ci_meta_exif_f_number'] = NULL ;
403
	
407
	
404
		$data_tab['ci_meta_exif_exif_version'] = NULL ;
408
		$data_tab['ci_meta_exif_exif_version'] = NULL ;
405
	
409
	
406
		$data_tab['ci_meta_exif_compressed_bits_per_pixel'] = NULL ;
410
		$data_tab['ci_meta_exif_compressed_bits_per_pixel'] = NULL ;
407
	
411
	
408
		$data_tab['ci_meta_exif_shutter_speed_value'] = NULL ;
412
		$data_tab['ci_meta_exif_shutter_speed_value'] = NULL ;
409
	
413
	
410
		$data_tab['ci_meta_exif_aperture_value'] = NULL ;
414
		$data_tab['ci_meta_exif_aperture_value'] = NULL ;
411
	
415
	
412
		$data_tab['ci_meta_exif_exposure_bias_value'] = NULL ;
416
		$data_tab['ci_meta_exif_exposure_bias_value'] = NULL ;
413
	
417
	
414
		$data_tab['ci_meta_exif_max_aperture_value'] = NULL ;
418
		$data_tab['ci_meta_exif_max_aperture_value'] = NULL ;
415
	
419
	
416
		$data_tab['ci_meta_exif_metering_mode'] = NULL ;
420
		$data_tab['ci_meta_exif_metering_mode'] = NULL ;
417
	
421
	
418
		$data_tab['ci_meta_exif_flash'] = NULL ;
422
		$data_tab['ci_meta_exif_flash'] = NULL ;
419
		
423
		
420
		$data_tab['ci_meta_exif_light_source'] = NULL ;
424
		$data_tab['ci_meta_exif_light_source'] = NULL ;
421
	
425
	
422
		$data_tab['ci_meta_exif_focal_length'] = NULL ;
426
		$data_tab['ci_meta_exif_focal_length'] = NULL ;
423
	
427
	
424
		$data_tab['ci_meta_exif_flash_pix_version'] = NULL ;
428
		$data_tab['ci_meta_exif_flash_pix_version'] = NULL ;
425
	
429
	
426
		$data_tab['ci_meta_exif_color_space'] = NULL ;
430
		$data_tab['ci_meta_exif_color_space'] = NULL ;
427
	
431
	
428
		$data_tab['ci_meta_exif_interoperability_offset'] = NULL ;
432
		$data_tab['ci_meta_exif_interoperability_offset'] = NULL ;
429
	
433
	
430
		$data_tab['ci_meta_exif_focal_plane_x_resolution'] = NULL ;
434
		$data_tab['ci_meta_exif_focal_plane_x_resolution'] = NULL ;
431
	
435
	
432
		$data_tab['ci_meta_exif_focal_plane_y_resolution'] = NULL ;
436
		$data_tab['ci_meta_exif_focal_plane_y_resolution'] = NULL ;
433
	
437
	
434
		$data_tab['ci_meta_exif_focal_plane_resolution_unit'] = NULL ;
438
		$data_tab['ci_meta_exif_focal_plane_resolution_unit'] = NULL ;
435
	
439
	
436
		$data_tab['ci_meta_exif_sensing_method'] = NULL ;
440
		$data_tab['ci_meta_exif_sensing_method'] = NULL ;
437
	
441
	
438
		$data_tab['ci_meta_exif_file_source'] = NULL ;
442
		$data_tab['ci_meta_exif_file_source'] = NULL ;
439
			
443
			
440
		$data_tab['ci_meta_exif_custom_rendered'] = NULL ;
444
		$data_tab['ci_meta_exif_custom_rendered'] = NULL ;
441
	
445
	
442
		$data_tab['ci_meta_exif_exposure_mode'] = NULL ;
446
		$data_tab['ci_meta_exif_exposure_mode'] = NULL ;
443
	
447
	
444
		$data_tab['ci_meta_exif_white_balance'] = NULL ;		
448
		$data_tab['ci_meta_exif_white_balance'] = NULL ;		
445
	
449
	
446
		$data_tab['ci_meta_exif_digital_zoom_ratio'] = NULL ;
450
		$data_tab['ci_meta_exif_digital_zoom_ratio'] = NULL ;
447
	
451
	
448
		$data_tab['ci_meta_exif_scene_capture_type'] = NULL ;
452
		$data_tab['ci_meta_exif_scene_capture_type'] = NULL ;
449
	
453
	
450
		$data_tab['ci_meta_exif_gain_control'] = NULL ;
454
		$data_tab['ci_meta_exif_gain_control'] = NULL ;
451
	
455
	
452
		$data_tab['ci_meta_exif_contrast'] = NULL ;
456
		$data_tab['ci_meta_exif_contrast'] = NULL ;
453
		
457
		
454
		$data_tab['ci_meta_exif_saturation'] = NULL ;
458
		$data_tab['ci_meta_exif_saturation'] = NULL ;
455
	
459
	
456
		$data_tab['ci_meta_exif_sharpness'] = NULL ;
460
		$data_tab['ci_meta_exif_sharpness'] = NULL ;
457
	
461
	
458
		$data_tab['ci_meta_exif_subject_distance_range'] = NULL ;
462
		$data_tab['ci_meta_exif_subject_distance_range'] = NULL ;
459
	
463
	
460
		$data_tab['ci_meta_exif_autres'] .= " " ;
464
		$data_tab['ci_meta_exif_autres'] .= " " ;
461
	
465
	
462
		return $data_tab ;			
466
		return $data_tab ;			
463
	}
467
	}
464
	
468
	
465
	/**
469
	/**
466
	* Crée le tableau vide pour stocker les section supplémentaires pour le cel
470
	* Crée le tableau vide pour stocker les section supplémentaires pour le cel
467
	* 
471
	* 
468
	* @return array $tab référence vers le tableau de metadonnées
472
	* @return array $tab référence vers le tableau de metadonnées
469
	* 
473
	* 
470
	**/
474
	**/
471
	private function InitialiserSectionsSupplementaires($tab)
475
	private function InitialiserSectionsSupplementaires($tab)
472
	{
476
	{
473
		$tab['ci_meta_exif_autres'] .= " " ;
477
		$tab['ci_meta_exif_autres'] .= " " ;
474
		$tab['ci_meta_iptc_autres'] .= " " ;
478
		$tab['ci_meta_iptc_autres'] .= " " ;
475
		$tab['ci_nom_original'] = NULL ;
479
		$tab['ci_nom_original'] = NULL ;
476
		$tab['ci_md5'] = NULL ;
480
		$tab['ci_md5'] = NULL ;
477
	}
481
	}
478
}
482
}
479
?>
483
?>