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 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
| <?php
// /////////////////////////////////////////////////////////////////////////////////////
// Sujet ici: http://www.developpez.net/forums/d620549/php/langage/fichiers/telechargerment-image-abimee/
// Sujet ici: http://www.developpez.net/forums/d620374/php/scripts/redimentioner-image-imag-magik/
/////////////////////////////////////////////////////////////////////////////////////
/ /////////////////////////////////////////////////////////////////////////////////////
if(isset($_FILES['photo']))
{
$dossier = 'imgs/';
$fichier = basename($_FILES['photo']['name']);
$vrFichier = "imgs/".$fichier;
$vrIMGdestination = "imgs/cop_".$fichier;
$extension = strrchr($vrFichier,'.'); // On récupére l'extension du fichier uploader
$choixTaille = $_POST['lunnatick_choix_taille'];
if ($choixTaille == "choix_taille_nul")
{
$largeurDestination = $_POST['lunnatick_largeur'];
$hauteurDestination = $_POST['lunnatick_hauteur'];
} else {
if ($choixTaille == "640x480_480x640")
{
$largeurDestination = 640;
$hauteurDestination = 480;
}
}
///////////////////////////////////////////////////////////////////////////////////////
// Pour ajouter des extension c'est ici:
////////////////////////////////////////
if ($extension == ".jpg" or $extension == ".jpeg") { header("Content-Type: image/jpeg"); } // Indispenssable pour le téléchargement de l'image redimentionner.
if ($extension == ".gif") { header("Content-Type: image/gif"); } // Indispenssable pour le téléchargement de l'image redimentionner.
if ($extension == ".tif" or $extension == ".tiff") { header("Content-Type: image/tiff"); } // Indispenssable pour le téléchargement de l'image redimentionner.
if ($extension == ".png") { header("Content-Type: image/png"); } // Indispenssable pour le téléchargement de l'image redimentionner.
if ($extension == ".jpg" or $extension == ".jpeg" or $extension == ".gif" or $extension == ".tif" or $extension == ".tiff" or $extension == ".png")
///////////////////////////////////////////////////////////////////////////////////////
{
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
//header("Content-Disposition: attachment; filename=".$vrIMGdestination); // Ici on lance le téléchargent de l'image redimentionnée.
///////////////////////////////////////////////////////////////////////////////////////
// Redimentionement de l'image:
///////////////////////////////
$vrTailleIMG = GetImageSize ($vrFichier);
$vrLargIMG = "$vrTailleIMG[0]";
$vrHautIMG = "$vrTailleIMG[1]";
if ($vrLargIMG > $vrHautIMG)
{
// ///////////////////////////////////////////////////////////////////////////////////////////////////////////
// C'est ici le code qui redimentionne les image horizontale:
// //////////////////////////////////////////////////////////
$vrIMGdestination2 = ImageCreate ($largeurDestination, $hauteurDestination);
$vrIMGdestination2 = ImageCreateTrueColor ($largeurDestination, $hauteurDestination);
if ($extension == ".jpg" or $extension == ".jpeg") { $vrFichier2 = imagecreatefromjpeg($vrFichier); }
if ($extension == ".gif") { $vrFichier2 = imagecreatefromgif($vrFichier); }
if ($extension == ".tif" or $extension == ".tiff") { $vrFichier2 = imagecreatefromtiff($vrFichier); }
if ($extension == ".png") { $vrFichier2 = imagecreatefrompng($vrFichier); }
//$couleur_fond = ImageColorAllocate ($vrIMGdestination2, 255, 0, 0);
ImageCopyResampled($vrIMGdestination2, $vrFichier2, 0, 0, 0, 0, $largeurDestination, $hauteurDestination, $vrLargIMG, $vrHautIMG);
// ImageString($vrIMGdestination2, 0, 12, $hauteurDestination-18, "$vrFichier2 - ($vrLargIMG x $vrHautIMG)", "Lunnatick"); // Pour écrire sur l'image
ImageJpeg ($vrIMGdestination2, $vrIMGdestination); // On créer l'image dans le dossier
// ///////////////////////////////////////////////////////////////////////////////////////////////////////////
} else {
// ///////////////////////////////////////////////////////////////////////////////////////////////////////////
// C'est ici le code qui redimentionne les image verticale:
// ////////////////////////////////////////////////////////
$vrIMGdestination2 = ImageCreate ($hauteurDestination, $largeurDestination);
$vrIMGdestination2 = ImageCreateTrueColor ($hauteurDestination, $largeurDestination);
if ($extension == ".jpg" or $extension == ".jpeg") { $vrFichier2 = imagecreatefromjpeg($vrFichier); }
if ($extension == ".gif") { $vrFichier2 = imagecreatefromgif($vrFichier); }
if ($extension == ".tif" or $extension == ".tiff") { $vrFichier2 = imagecreatefromtiff($vrFichier); }
if ($extension == ".png") { $vrFichier2 = imagecreatefrompng($vrFichier); }
//$couleur_fond = ImageColorAllocate ($vrIMGdestination2, 255, 0, 0);
ImageCopyResampled($vrIMGdestination2, $vrFichier2, 0, 0, 0, 0, $hauteurDestination, $largeurDestination, $vrLargIMG, $vrHautIMG);
ImageJpeg ($vrIMGdestination2); // juste pour le tes a supprimer aprés
// ///////////////////////////////////////////////////////////////////////////////////////////////////////////
}
///////////////////////////////////////////////////////////////////////////////////////
readfile($vrIMGdestination); // Ici on lance le téléchargent de l'image redimentionnée.
unlink($vrFichier); // Ici on supprime l'image une foi quelle à été télécharger.
exit();
} else { // Si l'image n'a pas été uploader.
echo '!!! Impossible d\'envoyer le fichier selectionné';
echo ("<meta http-equiv='Refresh' content='2;URL=index.php'>"); // Redirection ver le formulaire si l'image n'a pas été uploader.
}
} else {
echo "Ce n\'est pas une image valide que vous essayer de redimentioner, ou ce type d\'image ne peut être redimentionner ici ou bien ce n'est même pas un image";
echo ("<meta http-equiv='Refresh' content='5;URL=index.php'>"); // Redirection ver le formulaire si l'image n'a pas été uploader.
}
}
?> |
Partager