174,6 → 174,8 |
public function stockerFichierOriginal($fichier, $id, $conserverFichiersTemporaires=false) { |
$chemin_fichier_origine = is_array($fichier) ? $fichier['tmp_name'] : $fichier; |
|
$tailleFichierOrigine = filesize($chemin_fichier_origine); |
|
$chemin_base_fichier = $this->creerSiNecessaireEtRenvoyerCheminStockageFichierPourIdEtFormat($id, 'O'); |
$nom_fichier = $this->convertirIdBddVersNomFichier($id, 'O'); |
|
180,19 → 182,30 |
$chemin_fichier = $chemin_base_fichier.'/'.$nom_fichier; |
|
$deplacement_fichier = $this->stockerImageExterne($chemin_fichier_origine, $chemin_fichier, $conserverFichiersTemporaires); |
if ($tailleFichierOrigine == 0) { |
$erreur = 'ERREUR : fichier image original [' . $chemin_fichier . '] de taille nulle (0) \n' ; |
$this->logger('CEL_bugs',$erreur); |
return false; |
} |
|
if ($deplacement_fichier) { |
$infos_image_originale = $this->obtenirImageEtInfosPourChemin($chemin_fichier); |
$taux_compression = $this->renvoyerTauxCompressionPourPoids($infos_image_originale['poids_octets']); |
|
$ecritureOK = true; |
if ($taux_compression < 100 && $this->mode == self::MODE_IMAGEMAGICK) { |
$this->ecrireImageSurDisqueAvecMeta($chemin_fichier, $taux_compression); |
$ecritureOK = $this->ecrireImageSurDisqueAvecMeta($chemin_fichier, $taux_compression); |
} |
|
return $infos_image_originale; |
|
if ($ecritureOK) { |
return $infos_image_originale; |
} else { |
$erreur = 'ERREUR : probleme durant la recompression du fichier image original \n' ; |
$this->logger('CEL_bugs',$erreur); |
return false ; |
} |
} else { |
$erreur = 'ERROR : probleme durant le déplacement du fichier temporaire \n' ; |
$erreur = 'ERREUR : probleme durant le déplacement du fichier temporaire \n' ; |
$this->logger('CEL_bugs',$erreur); |
return false ; |
} |
510,16 → 523,21 |
} |
|
public function ecrireImageSurDisqueAvecMeta($chemin_image_a_stocker, $compression = 100) { |
$img = new Imagick($chemin_image_a_stocker); |
try { |
$img = new Imagick($chemin_image_a_stocker); |
|
// l'utilisation d'image magick préserve les métadonnées lors d'une recompression |
$img->setformat('jpeg'); |
$img->setImageCompression(imagick::COMPRESSION_JPEG); |
$img->setCompressionQuality($compression); |
$img->writeImage($chemin_image_a_stocker); |
$img->destroy(); |
|
chmod($chemin_image_a_stocker, $this->droits); |
// l'utilisation d'image magick préserve les métadonnées lors d'une recompression |
$img->setformat('jpeg'); |
$img->setImageCompression(imagick::COMPRESSION_JPEG); |
$img->setCompressionQuality($compression); |
$img->writeImage($chemin_image_a_stocker); |
$img->destroy(); |
|
chmod($chemin_image_a_stocker, $this->droits); |
return true; |
} catch (ImagickException $e) { |
return false; |
} |
} |
|
public function renvoyerEtCreerImageCarreeBlancheSelonFormat($cote) { |