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 126 127 128 129 130
| <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="js/jquery.min.js"></script>
<script src="js/jquery.Jcrop.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="css/jquery.Jcrop.min.css" type="text/css" />
<script type="text/javascript">
jQuery(function($){
var jcrop_api;
initJcrop();
function initJcrop() {
$('#target').Jcrop({
onRelease: { allowSelect: true },
allowSelect: 1,
allowResize: 1,
allowMove: 1,
bgOpacity: .3,
onChange: updateCoords,
onSelect: updateCoords
},function(){
jcrop_api = this;
jcrop_api.animateTo([0, 0, 100, 100]);
});
};
});
function updateCoords(c) {
$('#x').val(c.x);
$('#y').val(c.y);
$('#w').val(c.w);
$('#h').val(c.h);
$('#x2').val(c.x2);
$('#y2').val(c.y2);
};
function checkCoords() {
if (parseInt($('#w').val())) return true;
alert('Sélectionner une partie de la photo avant de valider.');
return false;
};
</script>
<body>
<?php
$output_dir = "uploads";
$hauteurMiniMax = 500; $largeurMiniMax = 342; $hauteurBigMax = 500; $largeurBigMax = 342;
$valid = false;
if(isset($_FILES["photoimg1"])) {
$fileName = $_FILES["photoimg1"]["name"];
$fileNameTmp = $_FILES["photoimg1"]["tmp_name"];
$exif = exif_read_data($fileNameTmp);
$img = getimagesize($fileNameTmp);
$typeFichier = exif_imagetype($fileNameTmp);
$largeurFichier = $img[0];
$hauteurFichier = $img[1];
if($typeFichier != 1 && $typeFichier != 2 && $typeFichier != 3) {
echo "Le format du fichier «" . $fileName . "» n'est pas conforme. Seuls les fichiers JPG, JPEG, GIF et PNG sont acceptés. Merci de choisir un autre fichier.";
}
else if($typeFichier==2) { $fichier_ext="jpg"; $source = imagecreatefromjpeg($fileNameTmp);}
else if($typeFichier==3) { $fichier_ext="png"; $source = imagecreatefrompng($fileNameTmp); }
else if($typeFichier==1) { $fichier_ext="gif"; $source = imagecreatefromgif($fileNameTmp);}
if($typeFichier == 1 || $typeFichier == 2 || $typeFichier == 3) {
$nbreMpxPhoto = ($largeurFichier*$hauteurFichier)/1000000;
if($nbreMpxPhoto > 5) {
echo "La photo «" . $fileName . "» est trop grande, merci de la redimensionner.";
}
else if($largeurFichier < 342 || $hauteurFichier < 500) {
echo "La photo «" . $fileName . "» est trop petite. Pour proposer des photos de qualité à nos visiteurs, merci d'ajouter des photos d'une taille minimum de 342x500px.";
}
else {
if ($hauteurFichier < $hauteurMiniMax) {
$hauteurMiniMax = $hauteurFichier;
}
if ($largeurFichier < $largeurMiniMax) {
$largeurMiniMax = $largeurFichier;
}
if ($hauteurFichier < $hauteurBigMax) {
$hauteurBigMax = $hauteurFichier;
}
if ($largeurFichier < $largeurBigMax) {
$largeurBigMax = $largeurFichier;
}
if ($largeurFichier > $hauteurFichier) {
$largeurBigFinal = $largeurBigMax;
$hauteurBigFinal = round($hauteurFichier*($largeurBigMax/$largeurFichier));
} else if ($hauteurFichier > $largeurFichier) {
$largeurBigFinal = round($largeurFichier*($hauteurBigMax/$hauteurFichier));
$hauteurBigFinal = $hauteurBigMax;
} else {
$largeurBigFinal = $largeurBigMax;
$hauteurBigFinal = $hauteurBigMax;
}
$image_grande = imagecreatetruecolor($largeurBigFinal,$hauteurBigFinal);
imagecopyresampled($image_grande, $source, 0, 0, 0, 0, $largeurBigFinal, $hauteurBigFinal, $largeurFichier, $hauteurFichier);
$fileName = mt_rand(1, 100) . time() . '.' . strtolower($fichier_ext);
imagejpeg($image_grande, $output_dir . '/' . $fileName);
imagedestroy($image_grande);
?>
<img src='<?php echo $output_dir; ?>/<?php echo $fileName; ?>' alt='' id='target' />
<form action="photo.php" method="post" onsubmit="return checkCoords();">
<input type="text" name="x" id="x" size="4"/>
<input type="text" name="y" id="y" size="4"/>
<input type="text" name="x2" id="x2" size="4"/>
<input type="text" name="y2" id="y2" size="4"/>
<input type="text" name="w" id="w" size="4"/>
<input type="text" name="h" id="h" size="4"/>
<input type="text" name="photo" value="<?php echo $fileName; ?>" />
<input type="submit" value="Valider" />
</form>
<?php
}
}
}
?>
</body>
</html> |
Partager