1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
// Définir le nom de l'image
$extension = Fonctions::getExtension($_FILES[$this->inputName]['name']);
$remoteFile = './'.$this->uploadDir.'/'.$_id.'/tmp_'.$indice.'_'.time().'.'.$extension;
$newFile = './'.$this->uploadDir.'/'.$_id.'/'.$indice.'_'.time().'.'.$extension;
// Traiter les images en fonction de leur type
if($_FILES[$this->inputName]["type"] == "image/jpeg" || $_FILES[$this->inputName]["type"] == "image/pjpeg"){
$image_source = imagecreatefromjpeg($_FILES[$this->inputName]["tmp_name"]);
imagejpeg($image_source, $remoteFile, 100);
}else if($_FILES[$this->inputName]["type"] == "image/gif"){
$image_source = imagecreatefromgif($_FILES[$this->inputName]["tmp_name"]);
imagegif($image_source, $remoteFile, 100);
}else if($_FILES[$this->inputName]["type"] == "image/png" || $_FILES[$this->inputName]["type"] == "image/x-png"){
$image_source = imagecreatefrompng($_FILES[$this->inputName]["tmp_name"]);
imagepng($image_source, $remoteFile, 9);
}
// Copier l'image reçu sur le serveur et donner les bon droits sur le fichier
chmod($remoteFile,0644);
// Récupérer les dimensions de l'image
list($imageWidth, $imageHeight) = getimagesize($remoteFile);
// Créer l'image chargée
if($_FILES[$this->inputName]["type"] == "image/jpeg" || $_FILES[$this->inputName]["type"] == "image/pjpeg"){
$imageSource = imagecreatefromjpeg($remoteFile);
}else if($_FILES[$this->inputName]["type"] == "image/gif"){
$imageSource = imagecreatefromgif($remoteFile);
}else if($_FILES[$this->inputName]["type"] == "image/png" || $_FILES[$this->inputName]["type"] == "image/x-png"){
$imageSource = imagecreatefrompng($remoteFile);
}
$time = time();
// Enregistrer format XL
$newFile = $this->uploadDir.$_id.'/XL/'.$indice.'_'.$time.'.'.$extension;
$this->enregistrerImage(512, 384, $imageWidth, $imageHeight, $imageSource, $newFile);
// Enregistrer formay miniature
$newFile = $this->uploadDir.$_id.'/'.$indice.'_'.$time.'.'.$extension;
$this->enregistrerImage(256, 192, $imageWidth, $imageHeight, $imageSource, $newFile);
// Supprimer l'image chargée
unlink($remoteFile);
imagedestroy($imageSource); |
Partager