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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| //Si la dimension a ete changee
if (isset($_GET['dimensions'])){
//Recuperation des dimensions
$dimensions= $_GET['dimensions'];
while ($image = spip_fetch_array($result)) {
$fichier = $image["fichier"]; //Nom du fichier
$largeur = $image["largeur"]; //Largeur du fichier
$hauteur = $image["hauteur"]; //Hauteur du fichier
//En fonction de la dimension choisie par l'utilisateur,
//les nouvelles dimensions sont calculees
if ($dimensions==1) {
$newlargeur=$largeur;
$newhauteur=$hauteur;
}
else if ($dimensions==2) {
$newlargeur=$largeur/2;
$newhauteur=$hauteur/2;
}
else if ($dimensions==3) {
$newlargeur=$largeur/4;
$newhauteur=$hauteur/4;
}
else if($dimensions==4) {
$newlargeur=$largeur/8;
$newhauteur=$hauteur/8;
}
else if($dimensions==5) {
if ($largeur==1024) {
$newlargeur=$largeur/1.28;
$newhauteur=$hauteur/1.28;
}
else if ($largeur==1280) {
$newlargeur=$largeur/1.25;
$newhauteur=$hauteur/1.25;
}
else {
$newlargeur=$largeur/1.28;
$newhauteur=$hauteur/1.28;
}
}
else {
exit("erreur");
}
//Verification que les dimensions ne descendent pas en dessous de 1
if ($newlargeur<5)
{
$newlargeur=5;
}
else if ($newhauteur<5)
{
$newhauteur=5;
}
$fichier="../$fichier";//Correction du lien du fichier
}
//Recuperation de l'extension du fichier
$Ext = strtolower(substr($fichier, strrpos($fichier, '.')));
switch($Ext){
case ".jpg":
$function_image_create = "ImageCreateFromJpeg";
$function_image_new = "ImageJpeg";
break;
case ".png":
$function_image_create = "ImageCreateFromPng";
$function_image_new = "ImagePNG";
break;
case ".gif":
$function_image_create = "ImageCreateFromGif";
$function_image_new = "ImageGif";
break;
}
//Creation d'une image vide
$thumb = ImageCreateTrueColor($newlargeur,$newhauteur);
//Creation d'une image contenant l'image du fichier
$source = @$function_image_create($fichier);
//Suppression de l'ancienne image
@unlink($fichier);
//Redimensionennement de l'image et application sur l'image vide
$redim=ImageCopyResampled($thumb, $source, 0, 0, 0, 0, $newlargeur, $newhauteur, $largeur, $hauteur);
//Si le redimensionnement a marché
//Affichage de l'image
@$function_image_new($thumb,$fichier);
//Recuperation de la taille de la nouvelle image
$taille=filesize($fichier);
//Modification dans la BD de la largeur, hauteur et largeur
$query = "UPDATE spip_documents
SET largeur=$newlargeur, hauteur=$newhauteur, taille=$taille
WHERE id_document=$idoc";
$result = spip_query($query); |
Partager