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 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
| <?
if(!empty($_GET["dwn"])) {
if(!strpos(" ".$_GET["dwn"],"..")) {
header("content-type: application/octet-stream");
$f = substr($_GET["dwn"],strrpos($_GET["dwn"],"/")+1);
header("Content-Disposition: attachment; filename=".$f);
flush();
readfile($_GET["dwn"]);
}
} else {
function redimage($img_src,$img_dest,$dst_w,$dst_h) {
// Lit les dimensions de l'image
$size = GetImageSize($img_src);
$src_w = $size[0]; $src_h = $size[1];
// Teste les dimensions tenant dans la zone
$test_h = round(($dst_w / $src_w) * $src_h);
$test_w = round(($dst_h / $src_h) * $src_w);
// Si Height final non précisé (0)
if(!$dst_h) $dst_h = $test_h;
// Sinon si Width final non précisé (0)
elseif(!$dst_w) $dst_w = $test_w;
// Sinon teste quel redimensionnement tient dans la zone
elseif($test_h>$dst_h) $dst_w = $test_w;
else $dst_h = $test_h;
// La vignette existe ?
$test = (file_exists($img_dest));
// L'original a été modifié ?
if($test)
$test = (filemtime($img_dest)>filemtime($img_src));
// Les dimensions de la vignette sont correctes ?
if($test) {
$size2 = GetImageSize($img_dest);
$test = ($size2[0]==$dst_w);
$test = ($size2[1]==$dst_h);
}
// Créer la vignette ?
if(!$test) {
// Crée une image vierge aux bonnes dimensions
// $dst_im = ImageCreate($dst_w,$dst_h);
$dst_im = ImageCreateTrueColor($dst_w,$dst_h);
// Copie dedans l'image initiale redimensionnée
$src_im = ImageCreateFromJpeg($img_src);
// ImageCopyResized($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
ImageCopyResampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
// Sauve la nouvelle image
ImageJpeg($dst_im,$img_dest);
// Détruis les tampons
ImageDestroy($dst_im);
ImageDestroy($src_im);
}
// Affiche le descritif de la vignette
echo "SRC='".$img_dest."?t=".time()."' WIDTH=".$dst_w." HEIGHT=".$dst_h;
}
// AFFICHAGE DE LA PAGE
?> <font size=3>Désignez une image .JPG</font> <i>(300 Ko max.)<br>
<? // GESTION DE L'UPLOAD
$rep="./"; // Répertoire de stockage (doit avoir les droits d'écriture ! CHMOD)
$f = $rep."original.jpg"; // path du fichier original
if(isset($_FILES['photo'])) {
if($_FILES['photo']['size']>0) {
if(strtolower(substr($_FILES['photo']['name'],-4))!=".jpg") { ?>
<b>Ce n'était pas un .JPG !</b>
<? } elseif (!move_uploaded_file($_FILES['photo']['tmp_name'], $f)) { ?>
<b>Erreur d'enregistrement !</b>
<? }
} else { ?>
<b>Trop gros fichier !</b>
<? }
}?>
<table><FORM METHOD="POST" ENCTYPE="multipart/form-data">
<INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE VALUE=<? echo 300*1024;?>>
<tr><td align=center><INPUT TYPE=FILE NAME="photo"></td></tr>
<tr><td align=center><INPUT TYPE=SUBMIT value="Générer la vignette"></td></tr>
</FORM></table>
<? // AFFICHAGE DE LA VIGNETTE ET DES INFOS
$f2 = $rep."vignette.jpg"; // path de la vignette
$largeur=150; if(!empty($_GET["largeur"])) $largeur = $_GET["largeur"];
$hauteur=150; if(!empty($_GET["hauteur"])) $hauteur = $_GET["hauteur"];
if(file_exists($f)) { ?>
<table border=0 cellspacing=5 cellpadding=0><tr>
<td>
<center><b>Original</b></center><br>
Poids : <?echo round(filesize($f)/1024)?> Ko<br>
Taille : <?
$size = GetImageSize($f);
echo $size[0]."x".$size[1]; ?><br>
<br><center>
<A href="vignette.php?dwn=<?echo $f?>">Télécharger</A>
</center>
</td><td align=center>
<IMG <? redimage($f,$f2,$largeur,$hauteur)?>>
</td><td>
<center><b>Vignette</b></center><br>
Poids : <?echo round(filesize($f2)/1024)?> Ko<br>
Taille : <?
$size = GetImageSize($f2);
echo $size[0]."x".$size[1]; ?><br>
<br><center>
<A href="vignette.php?dwn=<?echo $f2?>">Télécharger</A>
</center>
</td>
</tr><tr>
<? // CHOIX DES DIMENSIONS DE LA VIGNETTE
?>
<form><td colspan=3 align=center>
<table><tr>
<td>Largeur :</td>
<td><select name="largeur">
<?for($i=10;$i<=150;$i+=10) {
echo "<option";
if($i==$largeur) echo " SELECTED";
echo ">".$i."</option>\n";
} ?>
</select></td>
<td>Hauteur :</td>
<td><select name="hauteur">
<?for($i=10;$i<=150;$i+=10) {
echo "<option";
if($i==$hauteur) echo " SELECTED";
echo ">".$i."</option>\n";
} ?>
</select></td>
<td><input type=submit value=Modifier></td>
</td></form>
</tr></table>
<? } ?>
</td>
</tr></table></center>
<?
} ?> |
Partager