Redimensionner photos

audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   -  
audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   -
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. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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
  2. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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
  3. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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