j'ai adapté un script qui permet de créé une vignette a partir d'une image téléchargée dans une page précédente. Le script s'execute dés l'ouverture de la page mais je voudrais que dans cette page ou une suivante cette vignette s'affiche, il faut donc que le script qui affiche la vignette ne s'execute que si la vignette est déja crée, ce qui prendra un certain temps. Je pense a une boucle qui scrute le dossier jusqu'à ce que la vignette y soient crée, mais ça me semble un peu lourd pour le serveur si ça prend du temps...d'autant qu'il peu y avoir une erreur dans la création de la vignette ...bref, je susi qu'il y a une solution plus élégante. <voici le script qui créé la vignette, $_SESSION['photoName'] etant le nom de nl'image telechargée.
$chemin="imgs_bd/galerie_photo/"; //definition du chemin
$pseudo=$_SESSION['$Membre'];
$largeurSource=$_SESSION['$largeurSource'];
$hauteurSource=$_SESSION['$hauteurSource'];
/////Script miniature//////
$fichierSource = $chemin.$pseudo.'_'.$_SESSION['photoName'];
$largeurDestination = 110;
$hauteurDestination = 110;
$im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination)
or die ("Erreur lors de la création de l'image");
$source = ImageCreateFromJpeg($fichierSource);
// si portrait////////////
if($largeurSource < $hauteurSource){
$Difflargeur = $largeurSource-110;
ImageCopyResampled($im, $source, 0,0,0,$Difflargeur/3, $largeurDestination, $hauteurDestination,
$largeurSource, $hauteurSource-($Difflargeur/2));
}
//si paysage
if($largeurSource >= $hauteurSource){
$Diffhauteur = $hauteurSource-110;/
ImageCopyResampled($im, $source, 0,0,$Diffhauteur/5,0, $largeurDestination, $hauteurDestination,
$largeurSource-($Diffhauteur/3), $hauteurSource);
}
// ecriture de la miniature
$miniature = $pseudo.'_'.'mini_'.$_SESSION['photoName'];
ImageJpeg ($im, "imgs_bd/galerie_photo/mini/".$miniature);
Merci