Aller au contenu

jean-miche

Membre
  • Compteur de contenus

    5
  • Inscrit(e) le

  • Dernière visite

Messages postés par jean-miche

  1. Merci elow, mais regarde, j'ai trouvé cette fonction qui regroupe tout ce que je souhaiterais pouvoir faire de mes images.

    <?php resize_clone("/ton/chemin/vers/ton/", "image.png"); ?>

    n'oublie pas le "/" a la fin du chemin

    <?php
    function resize_clone($path, $file)
    {
    list($width, $height, $type, $attr) = getimagesize($path.$file);
    $ratio = $height / $width;
    if ($height > 500 OR $width > 500)
    {
    if($ratio <= 1)
    {
    $x = 500;
    $y = 500*$ratio;
    }
    else
    {
    $y = 500;
    $x = 500*(1/$ratio);
    }
    }
    else
    {
    if($ratio <= 1)
    {
    $x = $width;
    $y = $width*$ratio;
    }
    else
    {
    $y = $height;
    $x = $height*(1/$ratio);
    }
    }
    $size = getimagesize($path.$file);
    if ( $size)
    {
    if ($size['mime']=='image/jpeg' )
    {
    $img_big = imagecreatefromjpeg($path.$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,$path."big_".$file );
    }
    elseif ($size['mime']=='image/png' )
    {
    $img_big = imagecreatefrompng($path.$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,$path."big_".$file );
    }
    elseif ($size['mime']=='image/gif' )
    {
    $img_big = imagecreatefromgif($path.$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,$path."big_".$file );
    }
    }
    if($ratio <= 1)
    {
    $x = 90;
    $y = 90*$ratio;
    }
    else
    {
    $y = 90;
    $x = 90*(1/$ratio);
    }
    $size = getimagesize($path.$file);
    if ( $size)
    {
    if ($size['mime']=='image/jpeg' )
    {
    $img_big = imagecreatefromjpeg($path.$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,$path."mini_".$file );
    }
    elseif ($size['mime']=='image/png' )
    {
    $img_big = imagecreatefrompng($path.$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,$path."mini_".$file );
    }
    elseif ($size['mime']=='image/gif' )
    {
    $img_big = imagecreatefromgif($path.$file);
    $img_new = imagecreate($x, $y);
    $img_mini = imagecreatetruecolor($x, $y)
    or $img_mini = imagecreate($x, $y);
    imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
    imagegif($img_mini,$path."mini_".$file );
    }
    }
    unlink($path.$file);
    }
    ?>

    Pourriez-vous m'expliquer comment l'utiliser ?

    Merci d'avance

  2. Bonjour à tous, grâce à un tuto bien fait sur le SDZ, j'ai pu faire un petit script pour créer une partie d'upload d'images sur mon site.

    Voici mon script :

    <?php
    if( isset($_POST['upload']) ) // si formulaire soumis
    {
    $content_dir = '../photos/'; // dossier où sera déplacé le fichier

    $tmp_file = $_FILES['fichier']['tmp_name'];

    if( !is_uploaded_file($tmp_file) )
    {
    exit("Le fichier est introuvable");
    }
    //RETAILLE IMAGE
    $ImageChoisie = imagecreatefromjpeg($tmp_file);
    $TailleImageChoisie = getimagesize($tmp_file);
    $NouvelleLargeur_mini = 100; //Largeur choisie à 100px mais modifiable
    $NouvelleLargeur_med = 600; //Largeur choisie à 600px mais modifiable

    $Reduction = ( ($NouvelleLargeur_mini * 100)/$TailleImageChoisie[0] );
    $NouvelleHauteur_mini = ( ($TailleImageChoisie[1] * $Reduction)/100 );

    $NouvelleImage_mini = imagecreatetruecolor($NouvelleLargeur_mini , $NouvelleHauteur_mini ) or die ("Erreur");

    imagecopyresampled($NouvelleImage_mini , $ImageChoisie , 0,0, 0,0, $NouvelleLargeur_mini, $NouvelleHauteur_mini, $TailleImageChoisie[0],$TailleImageChoisie[1]);

    $Reduction = ( ($NouvelleLargeur_med * 100)/$TailleImageChoisie[0] );
    $NouvelleHauteur_med = ( ($TailleImageChoisie[1] * $Reduction)/100 );

    $NouvelleImage_med = imagecreatetruecolor($NouvelleLargeur_med , $NouvelleHauteur_med ) or die ("Erreur");

    imagecopyresampled($NouvelleImage_med , $ImageChoisie , 0,0, 0,0, $NouvelleLargeur_med, $NouvelleHauteur_med, $TailleImageChoisie[0],$TailleImageChoisie[1]);

    imagedestroy($ImageChoisie);

    $NomImageExploitable = time();

    imagejpeg($NouvelleImage_mini , '../photos/'.$NomImageExploitable.'-mini.jpg', 100);
    imagejpeg($NouvelleImage_med , '../photos/'.$NomImageExploitable.'-med.jpg', 100);
    $LienImageNews = '../photos/'.$NomImageExploitable.'.jpg';

    // on vérifie maintenant l'extension
    $type_file = $_FILES['fichier']['type'];

    if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') && !strstr($type_file, 'png') )
    {
    exit("Le fichier n'est pas une image");
    }

    // on copie le fichier dans le dossier de destination
    $name_file = $NomImageExploitable.'.jpg';

    if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
    {
    exit("Impossible de copier le fichier dans $content_dir");
    }

    $sql= 'INSERT INTO images VALUES ("", "'.$_POST["titre"].'", "'.$NomImageExploitable.'", "'.$_POST["image"].'")';
    $res = mysql_query($sql) or die(mysql_error());
    if ($res)
    {

    $erreurTxt = $successTxT = "";

    if ($erreurTxt == "") {
    $successTxT = "<br /><span class='Style1'>Votre image a bien été ajoutée</span>";
    }

    if ($erreurTxt == "") {
    //message envoyé
    echo "<div class='success'>".$successTxT."</div>"; //vert
    } else {
    echo "<div class='error'><ul>".$erreurTxt."</ul></div>"; //rouge
    }


    //echo 'Le fichier a bien été envoyé';
    }

    //echo "Le fichier a bien été envoyé";
    }



    ?>

    <form method="post" enctype="multipart/form-data" action="ajout_photos.php">
    <p>
    Choisir un fichier<br />
    <input type="file" name="fichier" size="30">

    </p>

    <p>
    Choisir une galerie<br />
    <select name="image" id="image">
    <?php

    $sql = 'SELECT id_gallerie,nom_gallerie FROM galerie ORDER BY id_gallerie DESC';
    $query = mysql_query($sql) or die ("Problème Requete SQL");

    while ($ligne = mysql_fetch_assoc ($query)) {
    $nodept = $ligne ["nodept"];
    $nomdept = $ligne ["nom"];
    echo '<option value = "'.$ligne["id_gallerie"].'">'.$ligne["nom_gallerie"].'</option>';
    }

    ?>
    </select>
    </p>

    <!--
    <p>Titre de la photo<br />
    <input name="titre" type="text" />
    </p>
    <br />
    -->

    <input type="submit" name="upload" value="Envoyer" id="btn_upload">

    </form>

    • Comment pouvoir uploader des png, des gif, voire des bmp, en plus des jpg/jpeg ?
      Car on utilise la fonction imagecreatefromjpeg et je n'arrive pas à uploader des gif ou png à moins de changer la fonction dés le départ (par imagecreatefromgif ou imagecreatefrompng), dans quel cas je ne peux alors plus uploader de jpg...

    • Comment redimmensionner les images pour qu'elles aient un ratio ?
      Ici nous pouvons choisir une nouvelle hauteur ou une nouvelle largeur, mais pas de système qui "bloque" la taille en X ou en Y à une certaine valeur maximale. Et pareil pour la miniature.

    • Comment ne pas redimensionner une image si sa taille est inférieure à la taille choisie ($NouvelleLargeur) ?

    Merci d'avance aux personnes qui pourront m'aider à obtenir un script comme j'essaie d'en avoir ;)

×
×
  • Créer...