je suis confronté à un pb sur la création de vignette.
Aprés création de la vignette je me trouve avec un autre fichier dans la racine du site.
j'aimerais juste créer la vignette et ne pas avoir une autre image.
je vous envoie mon code source merci.
<?
@$ok=$_REQUEST["ok"];
//@$image=$_REQUEST["image"];
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é
$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;
}
if($ok)
{
$rep="vignette/"; // Répertoire de stockage (doit avoir les droits d'écriture ! CHMOD)
$f=$_FILES['photo']['name']; //on récupére le nom du fichier image de dépare(image original)
if(isset($_FILES['photo']))
{
if($_FILES['photo']['size']>0)
{
if(strtolower(substr($_FILES['photo']['name'],-4))!=".jpg")
{
echo"Ce n'était pas un .JPG !";
}
elseif (!move_uploaded_file($_FILES['photo']['tmp_name'], $f))
{
echo" <b>Erreur d'enregistrement !</b>";
}
}
else
{
echo"<b>Trop gros fichier !</b>";
}
}
$f2 = $rep.$f; // path de la vignette
//echo $f2;
$largeur=150; if(!empty($_GET["largeur"])) $largeur = $_GET["largeur"];
$hauteur=150; if(!empty($_GET["hauteur"])) $hauteur = $_GET["hauteur"];
if(file_exists($f))
{
redimage($f,$f2,$largeur,$hauteur);
}
else
{
echo "ce fichier n'existe pas ";
}
}
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<div id="Layer1" style="position:absolute; left:165px; top:80px; width:644px; height:293px; z-index:1">
<table width="100%" border="1">
<form action="" method="post" enctype="multipart/form-data" name="form1">
<input type="hidden" name="ok" value="true">
<tr>
<td width="23%">Image</td>
<td width="77%">
<input name="photo" type="file" id="photo">
</td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="ok"></td>
<td> </td>
</tr></form>
</table>
</div>