24,6 → 24,9 |
case 'viderMotsClesTexteObsSansMotsCles' : |
$this->viderMotsClesTexteObsSansMotsCles(); |
break; |
case 'regenererChampsTailleImage' : |
$this->regenererChampsTailleImage(); |
break; |
default : |
$msg = "Erreur : la commande '$cmd' n'existe pas!\n". |
"Commandes existantes : regenererMotsClesTexteImages, regenererMotsClesTexteObs"; |
77,5 → 80,54 |
$res = $this->bdd->requeter($req); |
echo "$res observations mises à jour\n"; |
} |
|
protected function regenererChampsTailleImage() { |
$req = "SELECT id_image FROM cel_images WHERE hauteur = 0 OR largeur = 0"; |
$res = $this->bdd->recupererTous($req); |
|
echo count($res)." images concernees \n"; |
echo "Début du traitement \n"; |
$images_maj = 0; |
$image_meta_ratees = 0; |
$images_inexistantes = 0; |
|
foreach($res as $image) { |
$chemin = $this->getCheminImage($image['id_image']); |
if(file_exists($chemin)) { |
list($largeur, $hauteur) = @getimagesize($chemin); |
if(is_numeric($largeur) && is_numeric($hauteur)) { |
$req_maj = "UPDATE cel_images SET hauteur = '".$hauteur."', largeur = '".$largeur."' ". |
"WHERE id_image = '".$image['id_image']."'"; |
$maj_taille_image = $this->bdd->requeter($req_maj); |
if($maj_taille_image) { |
$images_maj++; |
} |
} else { |
$image_meta_ratees++; |
} |
} else { |
$images_inexistantes++; |
} |
$this->afficherAvancement("\tImages traitées : ", 1); |
} |
echo "\n"; |
echo "Fin de la régénération des tailles des images à partir des metadonnées \n"; |
echo $images_maj." images ont vu leur infos de taille régénérées \n"; |
echo $image_meta_ratees." images ont raté l'extraction de metadonnées \n"; |
echo $images_inexistantes." images n'existent pas en tant que fichier \n"; |
} |
|
private function getCheminImage($id) { |
$chemin_base = Config::get('dossierImages'); |
|
$id = sprintf('%09s', $id); |
$id = wordwrap($id, 3 , '_', true); |
|
list($dossierNiveau1, $dossierNiveau2) = explode('_', $id); |
|
$chemin = $chemin_base.$dossierNiveau1.'/'.$dossierNiveau2.'/O/'.$id.'_O.jpg'; |
|
return $chemin; |
} |
} |
?> |