$section) { foreach ($section as $name => $val) { if($name != "MakerNote") { construire_tableau_insertion_exif($name, $val ,&$exif_tab) ; } } } return $exif_tab ; } /** * Extraction des metadonnées iptc **/ function extraire_iptc($url) { $iptc_tab = preparer_tableau_iptc() ; // geimagesize renvoie le infos iptc dans le tableau info $size = getimagesize($url, $info); // s'il existe if (isset($info["APP13"])) { // on parse les donnees $iptc = iptcparse($info["APP13"]); // et on les analyse foreach($iptc as $marker => $section) { foreach($section as $nom => $val) { // pour remplir le tableau de donnees construire_tableau_insertion_iptc($marker, $val ,&$iptc_tab) ; } } } return $iptc_tab ; } // construit le tableau pour la requete avec les metadonnees exif function construire_tableau_insertion_exif($nom, $val ,$data_tab) { switch($nom) { case "Height" : $data_tab['ci_meta_height'] = $val ; break ; case "Width" : $data_tab['ci_meta_width'] = $val ; break ; case "Make" : $data_tab['ci_meta_make'] = $val ; break ; case "Model" : $data_tab['ci_meta_model'] = $val ; break ; case "XResolution" : $data_tab['ci_meta_x_resolution'] = $val ; break ; case "YResolution" : $data_tab['ci_meta_y_resolution'] = $val ; break ; case "DateTimeOriginal" : $data_tab['ci_meta_date_time'] = $val ; break ; case "GPS" : $data_tab['ci_meta_gps'] = $val ; break ; case "UserComment" : $data_tab['ci_meta_user_comment'] = '"'.$val.'"' ; break ; case "ExposureTime" : $data_tab['ci_meta_exif_exposure_time'] = $val ; break ; case "FNumber" : $data_tab['ci_meta_exif_f_number'] = $val ; break ; case "ExifVersion" : $data_tab['ci_meta_exif_exif_version'] = $val ; break ; case "CompressedBitsPerPixel" : $data_tab['ci_meta_exif_compressed_bits_per_pixel'] = $val ; break ; case "ShutterSpeedValue" : $data_tab['ci_meta_exif_shutter_speed_value'] = $val ; break ; case "ApertureValue" : $data_tab['ci_meta_exif_aperture_value'] = $val ; break ; case "ExposureBiasValue" : $data_tab['ci_meta_exif_exposure_bias_value'] = $val ; break ; case "MaxApertureValue" : $data_tab['ci_meta_exif_max_aperture_value'] = $val ; break ; case "MeteringMode" : $data_tab['ci_meta_exif_metering_mode'] = $val ; break ; case "LightSource" : $data_tab['ci_meta_exif_light_source'] = $val ; break ; case "Flash" : $data_tab['ci_meta_exif_flash'] = $val ; break ; case "FocalLength" : $data_tab['ci_meta_exif_focal_length'] = $val ; break ; case "FlashpixVersion" : $data_tab['ci_meta_exif_flash_pix_version'] = $val ; break ; case "ColorSpace" : $data_tab['ci_meta_exif_color_space'] = $val ; break ; case "InteroperabilityOffset" : $data_tab['ci_meta_exif_interoperability_offset'] = $val ; break ; case "FocalPlaneXResolution" : $data_tab['ci_meta_exif_focal_plane_x_resolution'] = $val ; break ; case "FocalPlaneYResolution" : $data_tab['ci_meta_exif_focal_plane_y_resolution'] = $val ; break ; case "FocalPlaneResolutionUnit" : $data_tab['ci_meta_exif_focal_plane_resolution_unit'] = $val ; break ; case "SensingMethod" : $data_tab['ci_meta_exif_sensing_method'] = $val ; break ; case "FileSource" : $data_tab['ci_meta_exif_file_source'] = $val ; break ; case "CustomRendered" : $data_tab['ci_meta_exif_custom_rendered'] = $val ; break ; case "ExposureMode" : $data_tab['ci_meta_exif_exposure_mode'] = $val ; break ; case "WhiteBalance" : $data_tab['ci_meta_exif_white_balance'] = $val ; break ; case "DigitalZoomRatio" : $data_tab['ci_meta_exif_digital_zoom_ratio'] = $val ; break ; case "SceneCaptureType" : $data_tab['ci_meta_exif_scene_capture_type'] = $val ; break ; case "GainControl" : $data_tab['ci_meta_exif_gain_control'] = $val ; break ; case "Contrast" : $data_tab['ci_meta_exif_contrast'] = $val ; break ; case "Saturation" : $data_tab['ci_meta_exif_saturation'] = $val ; break ; case "Sharpness" : $data_tab['ci_meta_exif_sharpness'] = $val ; break ; case "SubjectDistanceRange" : $data_tab['ci_meta_exif_subject_distance_range'] = $val ; break ; default : $data_tab['ci_meta_exif_autres'] .= $nom.":".$val.";" ; } } // construit le tableau pour la requete avec les metadonnees iptc function construire_tableau_insertion_iptc($nom, $val ,$data_tab) { switch($nom) { // mots cles iptc case "2#005" : $data_tab['ci_meta_iptc_category'] = $val ; break; case "2#025" : $data_tab['ci_meta_iptc_mots_cles'] = $val ; break; // champ by line case "2#080" : $data_tab['ci_meta_iptc_by_line'] = $val ; break ; // cahmp by line titre case "2#085" : $data_tab['ci_meta_iptc_by_line_title'] = $val ; break ; // ville case "2#090" : $data_tab['ci_meta_iptc_city'] = $val ; break ; // sous location case "2#092" : $data_tab['ci_meta_iptc_sub_location'] = $val ; break ; // etat (pour les us) case "2#095" : $data_tab['ci_meta_iptc_province_state'] = $val ; break ; // code pays case "2#100" : $data_tab['ci_meta_iptc_country_primary_location_code'] = $val ; break ; // code pays case "2#101" : $data_tab['ci_meta_iptc_country_name'] = $val ; break ; // titre principal case "2#105" : $data_tab['ci_meta_iptc_headline'] = $val ; break ; // credit case "2#110" : $data_tab['ci_meta_iptc_credit'] = $val ; break ; // copyright case "2#116" : $data_tab['ci_meta_iptc_copyright_notice'] = $val ; break ; // contact case "2#118" : $data_tab['ci_meta_iptc_contact'] = $val ; break ; // autres (pour les champs qu'on ne prend pas en compte) default : $data_tab['ci_meta_iptc_autres'] .= $nom.":".$val.";" ; } } function preparer_tableau_iptc() { $data_tab = array() ; $data_tab['ci_meta_iptc_category'] = NULL ; $data_tab['ci_meta_iptc_mots_cles'] = NULL ; $data_tab['ci_meta_iptc_by_line'] = NULL ; $data_tab['ci_meta_iptc_by_line_title'] = NULL ; $data_tab['ci_meta_iptc_city'] = NULL ; $data_tab['ci_meta_iptc_sub_location'] = NULL ; $data_tab['ci_meta_iptc_province_state'] = NULL ; $data_tab['ci_meta_iptc_country_primary_location_code'] = NULL ; $data_tab['ci_meta_iptc_country_name'] = NULL ; $data_tab['ci_meta_iptc_headline'] = NULL ; $data_tab['ci_meta_iptc_credit'] = NULL ; $data_tab['ci_meta_iptc_copyright_notice'] = NULL ; $data_tab['ci_meta_iptc_contact'] = NULL ; $data_tab['ci_meta_iptc_autres'] .= " " ; return $data_tab ; } function preparer_tableau_exif() { $data_tab = array() ; $data_tab['ci_meta_height'] = 0 ; $data_tab['ci_meta_width'] = 0 ; $data_tab['ci_meta_make'] = NULL ; $data_tab['ci_meta_model'] = NULL ; $data_tab['ci_meta_x_resolution'] = NULL ; $data_tab['ci_meta_y_resolution'] = NULL ; $data_tab['ci_meta_date_time'] = NULL ; $data_tab['ci_meta_gps'] = NULL ; $data_tab['ci_meta_user_comment'] = NULL ; $data_tab['ci_meta_exif_exposure_time'] = NULL ; $data_tab['ci_meta_exif_f_number'] = NULL ; $data_tab['ci_meta_exif_exif_version'] = NULL ; $data_tab['ci_meta_exif_compressed_bits_per_pixel'] = NULL ; $data_tab['ci_meta_exif_shutter_speed_value'] = NULL ; $data_tab['ci_meta_exif_aperture_value'] = NULL ; $data_tab['ci_meta_exif_exposure_bias_value'] = NULL ; $data_tab['ci_meta_exif_max_aperture_value'] = NULL ; $data_tab['ci_meta_exif_metering_mode'] = NULL ; $data_tab['ci_meta_exif_flash'] = NULL ; $data_tab['ci_meta_exif_light_source'] = NULL ; $data_tab['ci_meta_exif_focal_length'] = NULL ; $data_tab['ci_meta_exif_flash_pix_version'] = NULL ; $data_tab['ci_meta_exif_color_space'] = NULL ; $data_tab['ci_meta_exif_interoperability_offset'] = NULL ; $data_tab['ci_meta_exif_focal_plane_x_resolution'] = NULL ; $data_tab['ci_meta_exif_focal_plane_y_resolution'] = NULL ; $data_tab['ci_meta_exif_focal_plane_resolution_unit'] = NULL ; $data_tab['ci_meta_exif_sensing_method'] = NULL ; $data_tab['ci_meta_exif_file_source'] = NULL ; $data_tab['ci_meta_exif_custom_rendered'] = NULL ; $data_tab['ci_meta_exif_exposure_mode'] = NULL ; $data_tab['ci_meta_exif_white_balance'] = NULL ; $data_tab['ci_meta_exif_digital_zoom_ratio'] = NULL ; $data_tab['ci_meta_exif_scene_capture_type'] = NULL ; $data_tab['ci_meta_exif_gain_control'] = NULL ; $data_tab['ci_meta_exif_contrast'] = NULL ; $data_tab['ci_meta_exif_saturation'] = NULL ; $data_tab['ci_meta_exif_sharpness'] = NULL ; $data_tab['ci_meta_exif_subject_distance_range'] = NULL ; $data_tab['ci_meta_exif_autres'] .= " " ; return $data_tab ; } function fin_tableau_meta($tab) { $tab['ci_meta_exif_autres'] .= " " ; $tab['ci_meta_iptc_autres'] .= " " ; $tab['ci_nom_original'] = NULL ; $tab['ci_md5'] = NULL ; } ?>