Générer des vignettes d'images

Contenu du snippet

Ce script crée des vignettes de toutes les images jpg qui sont dans un dossier.

Source / Exemple :


<html>
<head>
<title>Création de petites images</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
function verifier(){
if (formulaire.dossier.value==""){
alert("Vous n'avez pas défini le dossier à analyser.");
return false;
}
if (formulaire.largeur_max.value==""){
alert("Vous n'avez pas défini de largeur maximale.");
return false;
}
if (formulaire.hauteur_max.value==""){
alert("Vous n'avez pas défini de hauteur maximale.");
return false;
}
if (isNaN(formulaire.largeur_max.value)){
alert("Largeur maximale :\nVous devez écrire un nombre.");
formulaire.largeur_max.value="";
return false;
}
if (isNaN(formulaire.hauteur_max.value)){
alert("Hauteur maximale :\nVous devez écrire un nombre.");
formulaire.hauteur_max.value="";
return false;
}
formulaire.submit();
}
</script>
<style type="text/css">
h1 {
font-size: large;
color: #FF962D;
background: #000000;
border: thin dashed #FFFF9C
}
input {
text-align: center;
font-weight: bold;
color: #000000;
background: transparent;
border: thin dashed #63CEFF
}
form { color: #00AFFF }
</style>
</head>

<body bgcolor="#FFAF5F" leftmargin="0" topmargin="0">
<center><font face="Georgia, Times New Roman, Times, serif">
<h1>Création de petites images.</h1>
<?
if (!function_exists("imagecreatetruecolor")) { die("Vous n'utilisez pas la libraire GD 2.\n</font></center>\n</body></html>"); }
set_time_limit(0);
if (isset($dossier)) {
$dossier=trim(str_replace("\\\\", "/", $dossier));
if (isset($dossier)) {
chmod($dossier, 0700);
if (!file_exists("$dossier/petites")) { mkdir("$dossier/petites", 0700); }
$ouverture=opendir($dossier);
$fichier=readdir($ouverture);
$fichier=readdir($ouverture);
while ($fichier=readdir($ouverture)) {
if ((strtolower(substr($fichier, -4))==".jpg")||(strtolower(substr($fichier, -5))==".jpeg")) {
$image_=imagecreatefromjpeg("$dossier/$fichier");
$largeur=imagesx($image_);
$hauteur=imagesy($image_);
if (($largeur>$largeur_max)||($hauteur>$hauteur_max)) {
$grand=max($largeur, $hauteur);
if ($grand==$largeur) { $image=imagecreatetruecolor($largeur_max, $largeur_max*$hauteur/$largeur); }
if ($grand==$hauteur) { $image=imagecreatetruecolor($hauteur_max*$largeur/$hauteur, $hauteur_max); }
imagecopyresampled($image, $image_, 0, 0, 0, 0, imagesx($image), imagesy($image), $largeur ,$hauteur);
imagedestroy($image_);
imagejpeg($image, "$dossier/petites/$fichier");
imagedestroy($image);
} else { copy("$dossier/$fichier", "$dossier/petites/$fichier"); }
}
}
closedir($ouverture);
echo "<font size=\"4\" color=\"#FF0000\">Terminé !</font>";
} else { echo "<font size=\"4\" color=\"#FF0000\">Le dossier <b>$dossier</b> n'existe pas.</font>"; }
}
?>
<form name="formulaire" method="post"><b>
Dossier à analyser :
<input type="text" name="dossier"><br>
Largeur maximale (pixels) :
<input type="text" name="largeur_max"><br>
Hauteur maximale (pixels) :
<input type="text" name="hauteur_max"><br>
<input type="button" value="Ok !" onClick="verifier()">
<input type="submit" style="visibility: hidden; width: 0">
</b></form>
</font></center>
</body>
</html>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.