Redimensionner une image php
Tayo
Astuce et Tutorial » Programmation / Developpement » Php Mysql » Aide rédigée par Zabuza
Description de cet article : Code php pour Redimensionner une image quelque soit son type en php
Lire les commentaires

Redimensionner une image en php, quelque soit type (jpg, png ou gif)


Ce code php permet simplement de redimensionner une image automatiquement. L'utilisation de getimagesize permet ici de connaître la taille de l'image (initiale), mais également son type. Ainsi, une image jpg avec une extension .zip sera par exemple bien reconnu comme une image jpg



[code=php]




$file = 'image.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 !

';


}

?>



[/code]



réduireNews
réduireTutoriel lié
  • Redimensionner une image php
    Code php pour Redimensionner une image quelque soit son type en php
  • Changer la taille d'une image grâce à Paint...
    Redimensionner une image
  • Pas de border sur un lien d'image css
    Enlever les bords présent sur une image en .css
  • Savoir si une image est chargée javascript
    Utilisation de l'attribut onload
  • Dans la même catégorie : Php Mysql

    Quand Wamp vous affiche que des messages Forbidden

    Passer l'activation de Windows 7 temporairement avec invite de commande
    réduireSocial

    rss 3D png rss 3D png


    Pseudo :
    Pass :
    Les lecteurs ont donné une note moyenne de :
    note 8
    Note: 8 sur 10

    Donnez votre note à ce tuto sur 10 :

    Comment changer du texte dans toute une base de donnée mysql

    Script pour charger une publicité une fois que la page web est en place

    Quand Wamp vous affiche que des messages Forbidden

    Liste des commentaires pour Redimensionner une image php


    Il y a 7 annes
    Bonjour,
    merci pour le script je suis débutant en php mais je recoit ce message Image en cours de redimensionnement... et rien ne ce fait
    Il y a 7 annes, 6 mois
    moi je cherche un script d'upload d'image autorisant jpg png jpeg, un poid de l'image d'origine à ne pas dépassé, qui renomme chaque image avec un id unique, et qui la redimensionne en proportion, et qui une fois fais tous cela il insert le lien de l'avatar/image dans le champs texte de ma base de donné mysql
    et qui dit opération réussit
    Il y a 7 annes, 7 mois
    Salut, ouvre ce fichier avec le bloc note pour voir quel est le message d'erreur
    Il y a 7 annes, 7 mois
    merci pr ce script,
    sur 2 serveurs differents, le script marche tres bien avec les gif et png, seulement la redimension des png ne fonctionne pas.
    je recupere des fichiers png de 1K, sans pouvoir les ouvrir
    qqun a une idee?
    merci
    Il y a 7 annes, 8 mois
    :D :) :( :o :shock: :? 8) 8) 8) 8) :lol: :x :P :P :oops: :cry: :cry: :twisted: :roll: :wink: :!: :!: :?: :idea: :?: :arrow: :?: :!: :evil: :x 8)
    Il y a 8 annes, 1 mois
    Faut utiliser ImageMagick
    Il y a 8 annes, 2 mois
    salut ,
    comment faire pour que un gif annimé réste annimé aprés redimension?
    Il y a 8 annes, 3 mois
    C'est bon j'ai réussi à créer une vignette sous un autre nom, pour ceux que ça interresse voila comment j'ai procéder:


    $file = '../images/'.$url ; # je récupére le nom de mon image avec son adresse, $url est l'endroit dans lequel j'ai stoquer le nom de l'image récupérer avec la méthode POST
    $new = '../images/small-'.$url; # je crée une nouvelle variable que je nomme small-nomDeL'imageD'origine
    imagejpeg($img_mini,$new );

    voila
    Il y a 8 annes, 3 mois
    Bonjour,

    Merci beaucoup pour ce code ça ma beaucoup aidé.

    Voulant créer une vignette je souhaiterais pouvoir enregistrer l'image redimensionner sous un autre nom, j'ai essayé ce que tu a posté plus haut mais sans succé:

    $file = copy('fichier-img.jpg','nouveau-nom.jpg');


    Merci
    Il y a 8 annes, 6 mois
    Hmmm la flemme de revoir le code, mais à la fin ça donne je crois
    imagejpeg pour du jpg
    imagepng pour du png. ( truc dans le genre ).

    Il y a un peu trop de copier coller dans cette petite source, mais l'idée était plutôt de montrer comment faire.
    Il y a 8 annes, 6 mois
    bonsoir,

    pourquoi ne pas avoir mis les 3 conditions en une seule ?
    Il y a 9 annes, 3 mois
    Bonsoir !

    Merci pour ce code, très pratique !
    Cependant, il ne marche pas avec cette image :
    taille : 988Ko, dimensions : 2560x1600, type : jpeg.
    Y a-t-il une taille max à respecter ? Si oui, laquelle ?

    Merci.
    Il y a 9 annes, 3 mois
    merci beaucoup . tout fonctionne très bien chez moi
    Il y a 9 annes, 4 mois
    cool merci
    Il y a 9 annes, 5 mois
    Bonjour tout le monde,
    j'aurai une question svp ...
    J'aimerai savoir où est stocké l'image redimensionnée car j'aimerai pouvoir l'envoyer dans un répertoire grâce à la fonction move_uploaded_file($tmp_dir,$target . $file_name); $file_name est la variable où est stocké le nom de l'image redimensionnée.
    Voila merci à tous.
    Il y a 9 annes, 5 mois
    :P :oops: :cry: :twisted: :evil: :twisted: :roll: :wink: :!: :?: :?: :idea:
    Il y a 9 annes, 5 mois
    bonjour,
    dabord merci pour ce script qui m'est très utile.
    avec x=125 y=75 en dur, l'image ne garde pas ses proportions.
    comment modifier le code pour garder les proportions?
    j'ai pensé a une regle de 3 mais ca ne marche pas pour tout.
    merci
    Il y a 10 annes
    Bonjour, oui comme tu peux le voir "Unable to open" signifie que le script php n''arrive pas à ouvrir l''image.
    En gros, le lien que tu donne au script n''est pas bon, attention c''est case sensitive. ( respecter les majuscules )

    Il y a 10 annes
    Bonjour a tous, apres avoir installé ce code j'ai ce message d'erreur :

    Image en cours de redimensionnement...
    Warning: imagepng() [function.imagepng]: Unable to open 'http://membres.lycos.fr/podoxavier/Images/crystal /magneto-tux-g2.png' for writing: No such file or directory in /home/tonyjim/domains/tonyjim.ns7-wistee.fr/public_html/1001bannieres/forum/test.php on line 52
    Image redimensionnée ! resource(26) of type (gd)

    pourriez vous m'aider ?
    Il y a 10 annes, 4 mois
    Tu veux dire, comme genre sur imghack, une personne upload un fichier et l'image est redimensionnée ?

    [url]http://staloa.free.fr/images/file.php[/url]


    Sinon tu as plusieurs moyens pour copier une image, tu peux d'abord la copier avec la commande php
    [code=php]

    [/code]
    $file sera alors 'nouveau-nom.jpg'.

    Sinon tu dois modifier plusieurs variable de ce petit "script".
    imagepng($img_mini,$file );
    à la place de $file remplace cette variable par $newfile

    Je ne sais pas si je suis très clair moi aussi xD



    Il y a 10 annes, 4 mois
    Alors mon problème :

    Il marche très bien, j'ai changé $file pas $chemin, mais je voulais savoir...

    Si je veux redimensionner une image a partir d'une image postée mais la renommer autrement comment je fais...

    Dans mon script l'image a pour chemin la variable $chemin, j'utilise donc cette variable a la place de $file, mais j'aimerais que a la fin de l'upload le $chemin de la redimension soit $chemin(1) pour ne pas écraser l'image d'origine...

    Ais je été clair ?

    Merci de me répondre
    Il y a 10 annes, 5 mois
    Exact, plutôt $size

    Edit : Voilà mise à jour je pense, merci
    Il y a 10 annes, 5 mois
    if ( $resize) {

    Il ny aurait pas une erreur sur cette condition O_o
    Votre PseudoIl y a 0mn
    Votre commentaire forum
    Vous avez la parole
    Laissez un commentaire sur cet article.
    Pseudo :


    Facultatif : Cliquez ici pour choisir une tête
    Votre email ( non publié ) :

    Image anti spam :
    Code Image
    Recopier les 5 chiffres de cette image :






    Prendre contact avec Tayo.fr : Formulaire Tayo

    Tayo.fr, copyright jusqu'en 2233 ( Au moins ! ).