Upload d'images + réduction
8 messages
• Page 1 sur 1
- VNK6000
- Nouveau WRInaute

- Messages: 7
- Inscription: 24 Oct 2005
Upload d'images + réduction
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
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
-

dmathieu - Modérateur

- Messages: 7245
- Inscription: 9 Jan 2004
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
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: 24 Oct 2005
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
-

dmathieu - Modérateur

- Messages: 7245
- Inscription: 9 Jan 2004
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.
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

- Messages: 15544
- Inscription: 23 Déc 2003
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>";
}
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>";
}
- dogsandyou
- Nouveau WRInaute

- Messages: 48
- Inscription: 2 Aoû 2005
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.
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Upload + redimmension en deux images
- prob droit permission upload images
- php Galerie photos : Erreur upload images RESOLU
- Easy-Upload, Upload de fichiers Gratuite...
- script de réduction d'URL
- code de réduction
- bon de réduction - à offrir où s'inscrire?
- Coupon de réduction AdWords 50 euros
- Bon de réduction AdWords de 25
- codes de reduction sur panier Paypal
- Les albums web Picasa passent à 1 Go de stockage - 08-03-2007
- Liste des produits et services de Google - 07-12-2005
- Easter Egg dans Google Chrome (fonctions cachées) - 06-09-2008
Consultez la description détaillée des produits ou services de Google suivants : Google Video Upload
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
