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 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
private function createImage()
{
if ($this->fileImage == NULL OR $this->fileImage['error'] != 0) {
$this->error = "il a une erreur ou le fichier n'est pas envoyé";
return false;
}
if ($this->fileImage['size'] >= 2097152) {
$this->error = "fichier tro gros";
return false;
}
// Testons si l'extension est autorisée
$infosfichier = pathinfo($this->fileImage['name']);
$extension_upload = $infosfichier['extension'];
$extension_upload = strtolower($extension_upload); //converti en minuscule
$extensions_autorisees = array('png', 'jpg', 'jpeg', 'gif');
if (!in_array($extension_upload, $extensions_autorisees)) {
$this->error = "l'extension n'est pas autorisé";
return false;
}
$TailleImageChoisie = getimagesize($this->fileImage['tmp_name']);
$NouvelleLargeur = 32; //Largeur choisie à 32px
$NouvelleHauteur = 32;
switch ($extension_upload) {
case jpg:
$ImageChoisie = imagecreatefromjpeg($this->fileImage['tmp_name']);
break;
case png:
$ImageChoisie = imagecreatefrompng($this->fileImage['tmp_name']);
break;
case gif:
$ImageChoisie = imagecreatefromgif($this->fileImage['tmp_name']);
break;
}
$NouvelleImage = imagecreatetruecolor($NouvelleLargeur , $NouvelleHauteur) or die ("Erreur");
imagecopyresampled($NouvelleImage , $ImageChoisie , 0,0, 0,0, $NouvelleLargeur, $NouvelleHauteur, $TailleImageChoisie[0],$TailleImageChoisie[1]);
imagedestroy($ImageChoisie);
$NomImageChoisie = explode('.', $ImageNews);
$NomImageExploitable = time();
switch ($extension_upload) {
case jpg:
imagejpeg($NouvelleImage , 'imagesnews/'.$NomImageExploitable.'.jpg', 100);
break;
case png:
imagepng($NouvelleImage , 'imagesnews/'.$NomImageExploitable.'.png');
break;
case gif:
imagegif($NouvelleImage , 'imagesnews/'.$NomImageExploitable.'.gif', 100);
break;
}
$LienImageNews = 'imagesnews/'.$NomImageExploitable.'.'.$ExtensionPresumee;
return true;
} |
Partager