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
| if (isset($_FILES['userfile']) AND $_FILES['userfile']['error'] == 0)
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['userfile']['size'] <= 500000000)
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['userfile']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg','jpeg','JPG','JPEG');
if (in_array($extension_upload, $extensions_autorisees))
{
$nom_alea = uniqid(null,true);
$nom = $nom_alea.'.jpg';
move_uploaded_file($_FILES['userfile']['tmp_name'], '../photos_biens/temp/' . $nom);
$x_dst0 = 600; // Largeur de la miniature
$y_dst0 = 400; // Hauteur de la miniature
// Création de l'img de la miniature (fond noir)
$im_dst0 = imagecreatetruecolor( $x_dst0, $y_dst0 );
$background_color0 = imagecolorallocate($im_dst0, 255, 255, 255);
// Récupération de l'image à "miniaturer"
$im_src0 = imagecreatefromjpeg("../photos_biens/temp/$nom");
$x_src0 = imagesx($im_src0);
$y_src0 = imagesy($im_src0);
// Ration Largeur/Hauteur
$ratio_dst0 = $x_dst0 / $y_dst0;
$ratio_src0 = $x_src0 / $y_src0;
if($ratio_dst0 > $ratio_src0)
$coef0 = $y_src0 / $y_dst0;
else
$coef0 = $x_src0 / $x_dst0;
// Calcul de la taille de l'image d'origine dans la miniature
$l_dst0 = $x_src0/$coef0; // largeur
$h_dst0 = $y_src0/$coef0; // hauteur
// Centrage de l'image réduite d'origine dans la miniature
$dec_x0 = ( $x_dst0 - $l_dst0 ) / 2; // Décalage à droite
$dec_y0 = ( $y_dst0 - $h_dst0 ) / 2; // Décalage en haut
// On applique
imagefill ( $im_dst0, 0, 0, $background_color0 );
imagecopyresampled( $im_dst0, $im_src0, $dec_x0, $dec_y0, 0, 0, $l_dst0, $h_dst0, $x_src0, $y_src0);
imagejpeg($im_dst0,"../photos_biens/$nom");
$connexion->exec("INSERT INTO photos VALUES('', '" . $id_bien . "', '" . $nom . "')");
$photo_temp = '../photos_biens/temp/' . $nom ;
unlink($photo_temp) ;
echo "L'envoi a bien été effectué !";
}
}
} |
Partager