Upload d'images + réduction

 
VNK6000
Nouveau WRInaute
 
Messages: 7
Inscription: Lun Oct 24, 2005 10:20

Upload d'images + réduction

Message le Lun Oct 24, 2005 10:24

Bonjour,

Pour l'upload d'images je viens de trouver un tuto :

http://phpcodeur.net/articles/php/upload

Tout marche bien !

Mais voila ce que je voudrais faire en plus :
- Rétréssir l'image automatiquement ! c'est à dire par exemple maximum 400px de longueur et et que la hauteur se réduise aussi :)

- Une fois l'imagé réduite prendre les valeurs de la hauteur et de la longueur et les enregistrer dans ma base de donnée :)

Merci d'avance

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


kazhar
WRInaute accro
WRInaute accro
 
Messages: 6387
Inscription: Ven Jan 09, 2004 17:21

Message le Lun Oct 24, 2005 10:40

pour récuperer la taille de l'image, c'est la fonction getimagesize();
qui prends comme argument l'adresse vers ton image
et qui te retourne un tableau contenant la largeur, et la hauteur de ton image.

pour rétrécir une image, je te propose ceci :
créer une vignette à partir d'une image

VNK6000
Nouveau WRInaute
 
Messages: 7
Inscription: Lun Oct 24, 2005 10:20

Message le Lun Oct 24, 2005 11:17

KaZhaR a écrit:pour récuperer la taille de l'image, c'est la fonction getimagesize();
qui prends comme argument l'adresse vers ton image
et qui te retourne un tableau contenant la largeur, et la hauteur de ton image.

pour rétrécir une image, je te propose ceci :
créer une vignette à partir d'une image


Et comment l'integrer a mon Up d'images :( ?

Merci d'avance


kazhar
WRInaute accro
WRInaute accro
 
Messages: 6387
Inscription: Ven Jan 09, 2004 17:21

Message le Lun Oct 24, 2005 11:19

eh bien, tu upload l'image
puis, tu appelle la fonction de reduction avec l'emplacement de l'image d'origine, et l'emplacement de l'image réduite (si c'est le meme, il réduit l'image, et la remet au meme endroit)
ton image est alors réduite
et apres, si tu utilise getimagesize pour récuperer la taille de ton image.


e-kiwi
Modérateur
Modérateur
 
Messages: 13568
Inscription: Mar Déc 23, 2003 10:04

Message le Lun Oct 24, 2005 11:23

recuperer une image (gif, jpeg, png) et la copier en jpeg sur le serveur, avec des dimensions max (redimensionnement propre automatique)

l'appel :

---------------------------------------------------------------------------------------------
if(($HTTP_POST_FILES['photo']['name']))
{
$destination = '../donnees/nom_de_la_photo.jpg';
copier_image($photo,$HTTP_POST_FILES['photo']['name'],$destination,250,250);
---------------------------------------------------------------------------------------------

la fonction :

function copier_image($photo,$nom_photo,$destination,$longueur_max,$hauteur_max)
{
// ----extention --------
$ext = explode(".", $nom_photo);
if(count($ext) > 1) $ext = strtolower(end($ext));
if (($ext=='jpg') or ($ext=='jpeg') or ($ext=='jpe'))
{
$type='jpg';
$est_image='oui';
}
else if ($ext=='gif')
{
$type='gif';
$est_image='oui';
}
else if ($ext=='png')
{
$type='png';
$est_image='oui';
}
else $est_image='non';

if ($est_image=='oui')
{
// ----info de l'image
$size = GetImageSize($photo);
if ($type=='jpg') $src_im = ImageCreateFromJpeg($photo);
else if ($type=='gif') $src_im = ImageCreateFromGif($photo);
else if ($type=='png') $src_im = ImageCreateFromPng($photo);
$longueur_photo = $size[0];
$hauteur_photo = $size[1];
//----- si dimensions ok, la copier
if (($longueur_photo<$longueur_max) and ($hauteur_photo<$hauteur_max))
{
if (copy($photo, $destination)) return true;
else return false;
}
else
{
// ----modifier longueur
if ($longueur_photo > $longueur_max)
{
$hauteur_photo=round(($longueur_max / $longueur_photo) * $hauteur_photo);
$longueur_photo=$longueur_max;
}
// ----modifier hauteur
if ($hauteur_photo > $hauteur_max)
{
$longueur_photo=round(($hauteur_max / $hauteur_photo) * $longueur_photo);
$hauteur_photo=$hauteur_max;
}
$dst_im = ImageCreateTrueColor($longueur_photo,$hauteur_photo);
ImageCopyResampled($dst_im,$src_im,0,0,0,0,$longueur_photo,$hauteur_photo,$size[0],$size[1]);
if (ImageJpeg($dst_im,$destination)) echo "";
else echo "<script>alert('ERREUR : Photo $nom_photo non copiée')</script>";
}
}
else echo "<script>alert('Attention : La photo n\'est pas au format valide (jpg, gif, png). elle ne sera donc pas copiée')</script>";

}

VNK6000
Nouveau WRInaute
 
Messages: 7
Inscription: Lun Oct 24, 2005 10:20

Message le Lun Oct 24, 2005 11:51

e-kiwi merci pour le code mais je place ca comment dans une formulaire ?

Sur 1 page seulement ?

Merci d'avance

dogsandyou
Nouveau WRInaute
 
Messages: 48
Inscription: Mar Aoû 02, 2005 16:07

Message le Lun Oct 24, 2005 14:30

C'est au choix, c'est à toi de voir si tu veux séparer appel de fonction et fonction elle-même dans un include à part.


e-kiwi
Modérateur
Modérateur
 
Messages: 13568
Inscription: Mar Déc 23, 2003 10:04

Message le Lun Oct 24, 2005 15:38

moi j'ai ma fonction dans mon fichier fonctions.php :-)

l'appel se fait sur la page de validation

 

Modérateurs: WebRankInfo, e-kiwi, OTP, fandecine, Patrice A.

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité