Redimensionner photos

Bonjour a tous,

j arrive a redimensionner mes photos mais je n arrive pas a les enregistrer sur un autre dossier

voici mon code

<?php
$file = '4.jpg' ; # L'emplacement de l'image à redimensionner. L'image peut être de type jpeg, gif ou png

$x = 125;

$y = 75; # Taille en pixel de l'image redimensionnée

$size = getimagesize($file);

if ( $size) {
echo 'Image en cours de redimensionnement...
';

if ($size['mime']=='image/jpeg' ) {
$img_big = imagecreatefromjpeg($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);

// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);

imagejpeg($img_mini,$file );

}
elseif ($size['mime']=='image/png' ) {
$img_big = imagecreatefrompng($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);

// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);

imagepng($img_mini,$file );

}
elseif ($size['mime']=='image/gif' ) {
$img_big = imagecreatefromgif($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);

// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);

imagegif($img_mini,$file );

}
echo 'Image redimensionnée !
';
}
?>

merci de votre aide

4 réponses

  1. merci de ta reponse

    j ai rajoute l adresse du mon site mais ca ne marche pas

    voici le code

    imagejpeg($img_mini,"http://monsite.com/images/$file" );

    et l erreur
    Image en cours de redimensionnement...
    Warning: imagejpeg() [function.imagejpeg]: Unable to open 'http://monsite.com/images/test4.jpg' for writing: No such file or directory in /homez.232/gautomob/www/testup.php on line 24
    Image redimensionnée !

    merci de ton aide
    0
    1. maintenat j ai cette erreur

      Warning: imagecreatefromjpeg(http://monsite/115651_3aTZU_5.jpg ) [function.imagecreatefromjpeg]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /homez.232/monserveur/www/up2.php on line 32
      0
      1. je me suis peut etre mal exprimé

        je recommence ......

        mes url sont stocker dans ma base de donnée je les recupere grace a un explode

        ensuite j aimerais rapatrier les images sur mon serveur pour les mettre a la bonne dimension

        voici le code il fonctionne a moitier ....

        il me copie certaines images
        et sur d autre il me met l erreur suivante :

        Warning: imagecreatefromjpeg(http://www.monsite.com/photos/groupe_3335/108087_q8yXj_9.jpg ) [function.imagecreatefromjpeg]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /homez.232/mabase/www/dossier/tetest.php on line 41

        Warning: imagesx(): supplied argument is not a valid Image resource in /homez.232/mabase/www/dossier/tetest.php on line 45

        Warning: imagesy(): supplied argument is not a valid Image resource in /homez.232/mabase/www/dossier/tetest.php on line 46

        Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /homez.232/mabase/www/dossier/tetest.php on line 51

        j ai mis la ligne de mon erreur (//ligne .. ci dessous) dans mon code

        voici le code

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Document sans titre</title>
        </head>

        <body>
        <?php

        require "connect.php";

        //necessaire seulement après la connection
        mysql_query("SET NAMES 'utf8'");

        $reponse = mysql_query("SELECT * FROM ma table ORDER BY nu DESC")or die(mysql_error()); // Requête SQL
        while ($data = mysql_fetch_array($reponse) )
        {

        //mise photos sous forme option 1 au lieu de option1,ption2
        $d = explode(",", $data['photos']);

        $e=$data['id'];

        foreach ($d as $value)
        {
        $num2 = $value;

        $filename = $num2;
        // Nom complet du fichier
        $num2 = pathinfo($filename, PATHINFO_BASENAME); // Affiche "mon_image.jpeg"

        //redim petit

        //ligne 41 ci dessous
        $source = imagecreatefromjpeg($filename); // La photo est la source
        $destination = imagecreatetruecolor(161, 107); // On crée la miniature vide
        $grand = 'grand';

        //ligne 45 46 ci dessous
        // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
        $largeur_source = imagesx($source);
        $hauteur_source = imagesy($source);
        $largeur_destination = imagesx($destination);
        $hauteur_destination = imagesy($destination);

        //ligne 51 ci dessous
        // On crée la miniature
        imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);

        // On enregistre la miniature sous le nom "mini_couchersoleil.jpg"
        imagejpeg($destination, "images/p$num2");

        //fin redim petit

        echo"$e<br>";
        echo"$filename<br>";

        }
        }

        ?>
        </body>
        </html>

        Merci de votre aide
        0

        Discussions similaires

        redimensionner vidéo

        17 réponses