WRInaute discret
Bonjour,
j'ai récupéré un script qui génère une miniature, mais au moment de la Downloader, je recupere une erreur 404 !
Pouvez-vous m'aider à résoudre ce problème.
ht*p://www.asp-php.net/scripts/asp-php/vignette.php?page=4 voici un exemple de ce que cela donne
merci d'avance
PS: si par hasard vous avez un script qui créé des miniature d'un dossier entier: ça m'interresse aussi !!
j'ai récupéré un script qui génère une miniature, mais au moment de la Downloader, je recupere une erreur 404 !
Pouvez-vous m'aider à résoudre ce problème.
Code:
// GESTION DU TÉLÉCHARGEMENT
if(!empty($_GET["dwn"])) {
if(!strpos(" ".$_GET["dwn"],"..")) { // protection ;)
header("content-type: application/octet-stream");
$f = substr($_GET["dwn"],strrpos($_GET["dwn"],"/")+1);
header("Content-Disposition: attachment; filename=".$f);
flush(); // Envoie le buffer
readfile($_GET["dwn"]);
}
// CREATION DE LA VIGNETTE
} 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
?><HTML><HEAD><TITLE>Générateur de vignettes</TITLE>
<STYLE>
td,input { font:normal 8pt Verdana }
</STYLE>
</HEAD><BODY bgcolor=#FFFFFF>
<center><table width=100% height=100%><tr>
<td align=center>
<font size=4>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>
</BODY></HTML><?
} ?>
ht*p://www.asp-php.net/scripts/asp-php/vignette.php?page=4 voici un exemple de ce que cela donne
merci d'avance
PS: si par hasard vous avez un script qui créé des miniature d'un dossier entier: ça m'interresse aussi !!