1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| $dossier = '../nfs/';
$ext_ok = array('jpg','JPG','jpeg','JPEG','gif','GIF','png','PNG');
$dossier_images = $dossier.'/*/*/*.{'.implode(',',$ext_ok).'}';
$tab_dossier = glob($dossier_images,GLOB_BRACE);
$tab_dossier = isset($tab_dossier) && is_array($tab_dossier) ? $tab_dossier : array();
if(count($tab_dossier) > 0){
$img_aleatoire = $tab_dossier[array_rand($tab_dossier)];
////////////////////////// Création de la miniature //////////////////////////
$DESTINATION_FOLDER="";
$nomFichier="miniature";
$limite = 420;
$size = getimagesize($img_aleatoire);
$hauteur = $size[1];
$largeur = $size[0];
if($hauteur >= $limite OR $largeur >= $limite)
{
if($hauteur >= $limite AND $largeur >= $limite) // Calcule des dimensions miniatures
{
if($hauteur > $largeur)
{
$largeur2 = $largeur / ($hauteur / $limite); // Calcule de la largeur miniature
$hauteur2 = $limite;
//echo'hauteur';
}
else
{
$hauteur2 = $hauteur / ($largeur / $limite); // Calcule de la hauteur miniature
$largeur2 = $limite;
//echo'largeur';
}
}
elseif($hauteur >= $limite AND $largeur <= $limite)
{
$largeur2 = $largeur / ($hauteur / $limite); // Calcule de la largeur miniature
$hauteur2 = $limite;
}
elseif($largeur >= $limite AND $hauteur <= $limite)
{
$hauteur2 = $hauteur / ($largeur / $limite); // Calcule de la hauteur miniature
$largeur2 = $limite;
}
else
{
$hauteur2 = $hauteur;
$largeur2 = $largeur;
}
$destination = imagecreatetruecolor($largeur2, $hauteur2); // On crée la miniature vide
$source = imagecreatefromjpeg($img_aleatoire); // L'image est la source
$largeur_source = imagesx($source); // Largeur de la source
$hauteur_source = imagesy($source); // Hauteur de la source
$largeur_destination = imagesx($destination); // Largeur de la miniature
$hauteur_destination = imagesy($destination); // Hauteur de la miniature
$nomMiniature = $nomFichier.'.jpg'; // Nom de la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source); // Creation de la miniature
imagejpeg($destination, $DESTINATION_FOLDER.$nomMiniature);
}
echo '<img src="miniature.jpg"/>';
}
else
{
echo 'Pas de fichier de type '.implode(',',$ext_ok).' dans le répertoire '.$dossier;
// ou affichage d'une image par défaut provenant d'un autre répertoire
} |
Partager