<?php
/*------------------------------*/
/*
Titre : Images Miniatures
Date édition : 15 Fev 2019
*/
/*------------------------------*/
function make_thumbs($dirSrc , $dirDest){
/* parametres supplementaires :
* $tnH : largeur a attribuer aux miniatures. (par defaut : 100 px)
* (la hauteur est determinee de facon a conserver le ratio)
* $format : format de sortie (par defaut le format de l'image originale)
* valeurs : "GIF", "JPG", "PNG", "WBMP"
*/
$tnH = 100;
{
$tnH = $arg;
{
$format = 1;
else
$format = 2;
else
$format = 3;
else
$format = 4;
}
}
{
$tnH = $arg;
{
$format = 1;
else
$format = 2;
else
$format = 3;
else
$format = 4;
}
}
$dirSrc .= "/";
// test des permissions sur le repertoire de destination
$perms = $perms & 07;
if (($perms & 01) && ($perms & 02) && ($perms & 04))
{
$dirDest .= "/";
}
else
return "Le repertoire cible doit etre lisible, inscriptible et executable";
if (!$fp)
return "Repertoire source illisible";
$pics = array();
{
))
{
}
}
$thumbs = array();
for ($i=0;$i<$taille;$i++)
{
$size = getimagesize($pics[$i]); // sauvegarde des attributs de l'image
switch($size[2])
{
case 1 :
$src = imagecreatefromgif($pics[$i]); // l'image est au format gif
break;
case 2 :
$src = imagecreatefromjpeg($pics[$i]); // l'image est au format jpeg
break;
case 3 :
$src = imagecreatefrompng($pics[$i]); // l'image est au format png
break;
default :
{
$src = imagecreatefromwbmp($pics[$i]);
if (!isset($format))
$format = 4;
}
}
if ($src == '')
{
$thumbs[$pics[$i]] = "format non supporte";
}
else
{
$destW = $size[0]*$tnH/$size[1];
$destH = $tnH;
$dest = imagecreate($destW, $destH); // creation de l'image de destination
$tn_name = $pics[$i];
/* renommage du fichicer de destination (ajout de "_tn") */
$tn_name = preg_replace("/\.(gif|jpe|jpg|jpeg|png|wbmp)$/i", "_tn", $tn_name);
/* changement du chemin d'acces de $dirSrc en $dirDest */
$tn_name = preg_replace("/.*\/([^\/]+)$/i", "$dirDest\\1", $tn_name);
if (isset($format))
$type = $format;
else
$type = $size[2];
switch($type)
{
case 1 :
{
$thumbs[$pics[$i]] = "$tn_name.gif";
}
break;
case 2 :
{
$thumbs[$pics[$i]] = "$tn_name.jpg";
}
break;
case 3 :
{
$thumbs[$pics[$i]] = "$tn_name.png";
}
break;
default :
{
$thumbs[$pics[$i]] = "$tn_name.wbmp";
}
}
if (!($thumbs[$pics[$i]]))
{
$thumbs[$pics[$i]] = "format non supporte";
}
}
}
return ($thumbs);
}
?>