comment appliquer une fonction en cliquant sur un lien
Posté : 15 juin 2005, 15:35
Hello,
J'ai trouvé une fonction qui permet de lister le contenu d'un répertoire (function DirTri) - qui marche très bien - et une fonction qui permet normalement de créer des vignettes (createThumb ) - je ne l'ai pas encore testée.
Et euh, question bête, comment fait-on pour appliquer la fonction createThumb à une image listée dans mon répertoire (par exemple en cliquant sur le lien créé par la fonction DirTri).
Merci.
J'ai trouvé une fonction qui permet de lister le contenu d'un répertoire (function DirTri) - qui marche très bien - et une fonction qui permet normalement de créer des vignettes (createThumb ) - je ne l'ai pas encore testée.
Et euh, question bête, comment fait-on pour appliquer la fonction createThumb à une image listée dans mon répertoire (par exemple en cliquant sur le lien créé par la fonction DirTri).
Merci.
Code : Tout sélectionner
// Description : Miniatures en respectant couleurs et homotétie. Sélection de l'image dans un répertoire
// ($repSource) et enregistrement dans le répertoire $repDest.
// Fonctionne avec jpeget png. A adpater pour d'autres formats.
function createThumb($repSource,$repDest,$filename,$thumbSize="100"){
$originalFileName = $repSource."/test".$filename;
$destinationFileName = $repDest."/small".$filename;
$getExtension = explode(".",$originalFileName);
$lastIndex = sizeof($getExtension) - 1;
$extension = $getExtension[$lastIndex];
if (preg_match("/^JPE?G$/i", $extension)){
$sourceImage = imagecreatefromjpeg($originalFileName);
$jpeg = TRUE;
}
$imgWidth = imageSX($sourceImage);
$imgHeight = imageSY($sourceImage);
if($imgWidth>$imgHeight) {
$finalWidth = $thumbSize;
$finalHeight = round(($thumbSize/$imgWidth)*$imgHeight);
} else {
$finalWidth = round(($thumbSize/$imgHeight)*$imgWidth);
$finalHeight = $thumbSize;
}
$newImage = imagecreatetruecolor($finalWidth,$finalHeight);
ImageCopyResampled($newImage,$sourceImage,0,0,0,0,$finalWidth,$finalHeight,$imgWidth,$imgHeight);
$jpeg ? imagejpeg($newImage,$destinationFileName) : false;
imagedestroy($newImage);
}
function DirTri($rep,$tri)
{
$Array = array();
$dir = opendir($rep);
$i=0;
while ($File = readdir($dir)){
if($File != "." && $File != ".." && $File != "index.htm")
{
$Array[] = "$File";
}
$i++;
}
closedir($dir);
if($tri == 'DESC'){
rsort($Array);
}else{
sort($Array);
}
$Max = count($Array);
for($i = 0; $i != $Max; $i++){
echo "<a href=\"$rep"."$Array[$i]\">$Array[$i]</a><br>";
}
echo "<br><br>".$Max." fichier(s)" ;
}
// utilisation de la fonction
// param.1 : chemin du répertoire ("." si il s'agit du rép. courant)
// param.2 : ASC ou DESC (A-Z ou Z-A)
DirTri("./test/","ASC");