Un script pour resize les photos au moment de l'import

5 messages dans ce sujet

Posté(e) · Signaler ce message

Ce script vous permer d'uploader et de resizer les photos à la volées.

Remplacer la fonction /lib/fonctions/fonctions.php => Fonction upload par la fonction suivante :

La hauteur est ici fixée à 150 pixels :

function upload($the_file) {


	$size = 150; // the thumbnail height


	$filedir = '../upload/'; // the directory for the original image

	$thumbdir = '../upload/'; // the directory for the thumbnail image

	$prefix = 'small_'; // the prefix to be added to the original name


	$maxfile = '2000000';

	$mode = '0666';


	$userfile_name = $the_file['name'];

	$userfile_tmp = $the_file['tmp_name'];

	$userfile_size = $the_file['size'];

	$userfile_type = $the_file['type'];


	if (isset($the_file['name'])) 

	{

		$prod_img = $filedir.$userfile_name;


		$prod_img_thumb = $thumbdir.$prefix.$userfile_name;

		move_uploaded_file($userfile_tmp, $prod_img);

		chmod ($prod_img, octdec($mode));


		$sizes = getimagesize($prod_img);


		$aspect_ratio = $sizes[1]/$sizes[0]; 


		if ($sizes[1] <= $size)

		{

			$new_width = $sizes[0];

			$new_height = $sizes[1];

		}else{

			$new_height = $size;

			$new_width = abs($new_height/$aspect_ratio);

		}


		$destimg=ImageCreateTrueColor($new_width,$new_height)

			or die('Problem In Creating image');

		$srcimg=ImageCreateFromJPEG($prod_img)

			or die('Problem In opening Source Image');

		if(function_exists('imagecopyresampled'))

		{

			imagecopyresampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))

			or die('Problem In resizing');

		}else{

			Imagecopyresized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))

			or die('Problem In resizing');

		}

		ImageJPEG($destimg,$prod_img_thumb,90)

			or die('Problem In saving');

		imagedestroy($destimg);

	}


	return $prod_img_thumb;

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Perso je recommande 2 fonctions ou un parametre dans celle là.

Cela permet de redimenssioner l'image 1 en 150 ou 200 et les autres en plus grand, avec ainsi un beau zoom possible.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour

le script de redimentionnement à l air fonctionnel

mais pour moi j ai un léger default

le script upload bien les fichiers jpg aux endroits indiqués

mais sur la liste des produits au niveau administration

il renvoit ceci :Nom du fichier :../upload/vignettes/small_porte-lumiere.jpg

au lieu de donnée simplement small_porte-lumiére.jpg

ce qui fait que la 1er image (vignette) lorsque l on clique pour zoomer

ne trouve pas le chemin

celà donne http://www.pourtoutlartdumonde.com/upload/...-cathedrale.jpg :)

j ai 2 fois le repertoire upload !

le bout de code :

function upload($the_file) {

$size = 150; // the thumbnail height

$filedir = '../upload/normales/'; // the directory for the original image

$thumbdir = '../upload/vignettes/'; // the directory for the thumbnail image

$prefix = 'small_'; // the prefix to be added to the original name

mon repertoire 'upload' se trouve à la racine

un petit coup de pouce merci à vous tous

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Slt william

il me semble ds ton cas, que tu devrais remplacer :

$filedir = '../upload/normales/'; // the directory for the original image

$thumbdir = '../upload/vignettes/'; // the directory for the thumbnail image

PAR :

$filedir = 'upload/normales/'; // the directory for the original image

$thumbdir = 'upload/vignettes/'; // the directory for the thumbnail image

Essaies et tu me dis si c bon .

bonjour à toi crisplouf

j ai fait comme tu me l as indiqué mais j ai ceci Problem In Creating image

donc je suis revenu au script precedent

j ai pas encore changer le configuration.inc.php

pour la redirection au niveau des images dans le repertoires normale

ayant uploader avant dirctelment dans le repertoire en racine upload

j aimerai puisque tu es à l ecoute que les images uploader soit d une dimention fixe soit 300px

j avais mis ceci $size = 300; // the thumbnail height

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ok mais çà depend de ce que tu veux avoir exactement,

heigth et width en 300 ? -> images carrée ?

ou que height,

ou que width ?

mille excuse j étais avec un client au tel

sur le script produit_details .php j ai mis witdh en pourcentage sans height

ce qui redimentionne valeur hauteur largeur

width en pourcentage

en fait l image se redimentionne avec une bonne homothetie

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping