[RESOLUE]Erreur 404 avec un script php de miniature d'image

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.

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 !!
 
WRInaute accro
Bonsoir,
Peux-tu donner plus d'infos sur l'hébergeur de ton script ?
Est-ce que tu downloades vers le bon répertoire ?
 
Discussions similaires
Haut