Script avec des valeurs fixe à définir, du style 500px de hauteur et 400 px de largeur.
Architecture des répertoires :
-- index.php (Le script)
-- [REP] images (Toutes les images à redimensionner sont à mettre dans ce répertoire)
-- [REP] nouveaugrd
CODE PHP
<?php
// Fonction pour connaitre l'extension d'un fichier
function extension($filename){
return strrchr($filename, '.');
}
//ouverture du répertoire
if ($direct = @opendir("images/")) {
// tant tant qu'on trouve un fichier on continu
while($file = readdir($direct)) {
// Si le nom du fichier est différent de . (dossier parent sous unix)
if ($file != ".") {
// Si le nom du fichier est différent de .. (root sous unix)
if ($file != "..") {
// Nom du fichier en minuscule
$fichier = strtolower($file);
// On créé une variable qui dans notre cas aura le nom de l'image à redimensionner
$new_fichier = $file;
// nom du nouveau fichier avec le dossier
$dir = "images/$new_fichier";
// à l'aide de notre fonction extension nous trouvons l'extension du fichier.
if (extension($fichier) == '.gif') // un .gif
{
$source = imagecreatefromgif($dir);
}
elseif(extension($fichier) == '.png') //un .png
{
$source = imagecreatefrompng($dir);
}
else // un .jpg ou .jpeg
{
$source = imagecreatefromjpeg($dir);
}
/* ------------------------------- */
/* On créé la miniature */
/* ------------------------------- */
// On définit une variable qui nous donne la valeur x de notre image source
$largeur_source = imagesx($source);
// On définit une variable qui nous donne la valeur x de notre image source
$hauteur_source = imagesy($source);
// On crée la miniature vide
$destination = imagecreatetruecolor(500, 500);
// On prend l'image d'origine et on la redimensionne
imagecopyresized($destination, $source, 0, 0, 0, 0, 500, 500 , $largeur_source, $hauteur_source);
// On créé l'image et on la copie dans le nouveau répertoire avec une qualité 100%
imagejpeg($destination, "nouveaugrd/$new_fichier", 100);
// On affiche un "friendly text" pour nous assurer que c'est OK (une ligne par image)
echo "Redimenssionnement OK
";
// On ferme tout , les if, le while, le opendir ...
}}}
closedir($direct);
}
?>
Script qui redimensionne en fonction de la largeur désirée, la hauteur s'adaptera en fonction de la largeur.
CODE PHP
<?php
// Fonction pour connaitre l'extension d'un fichier
function extension($filename){
return strrchr($filename, '.');
}
//ouverture du répertoire
if ($direct = @opendir("images/")) {
// tant tant qu'on trouve un fichier on continu
while($file = readdir($direct)) {
// Si le nom du fichier est différent de . (dossier parent sous unix)
if ($file != ".") {
// Si le nom du fichier est différent de .. (root sous unix)
if ($file != "..") {
// Nom du fichier en minuscule
$fichier = strtolower($file);
// On créé une variable qui dans notre cas aura le nom de l'image à redimensionner
$new_fichier = $file;
// nom du nouveau fichier avec le dossier
$dir = "images/$new_fichier";
// à l'aide de notre fonction extension nous trouvons l'extension du fichier.
if (extension($fichier) == '.gif') // un .gif
{
$source = imagecreatefromgif($dir);
}
elseif(extension($fichier) == '.png') //un .png
{
$source = imagecreatefrompng($dir);
}
else // un .jpg ou .jpeg
{
$source = imagecreatefromjpeg($dir);
}
/* ------------------------------- */
/* On créé la miniature */
/* ------------------------------- */
// On définit une variable qui nous donne la valeur x de notre image source
$largeur_source = imagesx($source);
// On définit une variable qui nous donne la valeur x de notre image source
$hauteur_source = imagesy($source);
// Ce bout de code ci dessous génére une hauteur par rapport à la largeur désiré de vos vignettes
// Redimensionner à l'échelle si vous voulez :)
// Choix de la largeur de vos vignettes en px
$largeur = '500';
$hauteur = round($hauteur_source * $largeur / $largeur_source);
// On crée la miniature vide
$destination = imagecreatetruecolor($largeur, $hauteur);
// On prend l'image d'origine et on la redimensionne
imagecopyresized($destination, $source, 0, 0, 0, 0, $largeur, $hauteur , $largeur_source, $hauteur_source);
// On créé l'image et on la copie dans le nouveau répertoire avec une qualité 100%
imagejpeg($destination, "nouveaugrd/$new_fichier", 100);
// On affiche un "friendly text" pour nous assurer que c'est OK (une ligne par image)
echo "Redimenssionnement OK
";
// On ferme tout , les if, le while, le opendir ...
}}}
closedir($direct);
}