Subversion Repositories eFlore/Applications.cel

Rev

Rev 1071 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1071 Rev 1120
Line 10... Line 10...
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 {
Line 14... Line 14...
14
 
14
 
15
	 public function extraireMetadonnees($chemin_fichier)
-
 
16
	 {
-
 
17
 
15
	 public function extraireMetadonnees($chemin_fichier) {
18
		$iptc = $this->extraireIptc($chemin_fichier) ;
16
		$iptc = $this->extraireIptc($chemin_fichier);
19
		$exif = $this->extraireExif($chemin_fichier) ;
-
 
20
 
17
		$exif = $this->extraireExif($chemin_fichier);
21
		$meta = array_merge($exif,$iptc);
-
 
22
 
18
		$meta = array_merge($exif, $iptc);
23
		$this->initialiserSectionsSupplementaires($meta) ;
-
 
24
 
19
		$this->initialiserSectionsSupplementaires($meta);
25
		return $meta ;
20
		return $meta;
Line 26... Line 21...
26
	 }
21
	 }
27
 
22
 
28
	/**
23
	/**
29
	* Extraction des metadonnées exif
24
	* Extraction des metadonnées exif
30
	**/
25
	**/
31
	public function extraireExif($chemin_fichier) {
26
	public function extraireExif($chemin_fichier) {
Line 32... Line 27...
32
		$exif_tab = $this->initialiserTableauExif () ;
27
		$exif_tab = $this->initialiserTableauExif ();
33
		$exif = @exif_read_data($chemin_fichier,"EXIF,COMPUTED,IFD0,FILE,COMMENT", true, false);
28
		$exif = @exif_read_data($chemin_fichier,"EXIF,COMPUTED,IFD0,FILE,COMMENT", true, false);
34
 
29
 
Line 46... Line 41...
46
 
41
 
47
	/**
42
	/**
48
	* Extraction des metadonnées iptc
43
	* Extraction des metadonnées iptc
49
	**/
44
	**/
50
	public function extraireIptc($chemin_fichier) {
45
	public function extraireIptc($chemin_fichier) {
Line 51... Line 46...
51
		$iptc_tab = $this->initialiserTableauIptc() ;
46
		$iptc_tab = $this->initialiserTableauIptc();
52
 
47
 
53
		// geimagesize renvoie le infos iptc dans le tableau info
48
		// geimagesize renvoie le infos iptc dans le tableau info
54
		$size = getimagesize($chemin_fichier, $info);
49
		$size = getimagesize($chemin_fichier, $info);
55
		// s'il existe
50
		// s'il existe
56
		if (isset($info["APP13"])) {
51
		if (isset($info['APP13'])) {
57
			// on parse les donnees
52
			// on parse les donnees
58
			$iptc = iptcparse($info["APP13"]);
53
			$iptc = iptcparse($info['APP13']);
59
			if ($iptc) {
54
			if ($iptc) {
60
				// et on les analyse
55
				// et on les analyse
61
				foreach ($iptc as $marker => $section) {
56
				foreach ($iptc as $marker => $section) {