Grandes images et php

Résolu/Fermé
cho88 Messages postés 70 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 17 juillet 2010 - 16 mars 2009 à 20:43
cho88 Messages postés 70 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 17 juillet 2010 - 19 avril 2009 à 16:47
Bonjour,
j'aurais aimé savoir s'il était possible de gérer des images de plus de 2Mo avec les fonctions php telles que imagetruecolor ou imagecopyresampled etc... enfin la série habituelle. je souhaiterai pouvoir introduire des photos d'appareils récents c'est à dire d'environ 3,5Mo en général.
si ces fonctions ne peuvent pas gérer une telle capacité, comment puis-je alors procéder pour réaliser ma galerie d'image?

merci d'avance

5 réponses

sebshiva Messages postés 194 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 17 juin 2010 10
17 mars 2009 à 00:35
Salut!

C'est pas mon habitude de filer un code tout fait.. Mais je sais ce que c'est que la galère..

function resizeImg($filename, $max_size, $destfile) {

//load image

$imgsrc = imagecreatefromjpeg($filename);

if ($imgsrc == '') {

$echo = "problem while loading image...";

exit;

}

//calculate size

$src_h = imagesy($imgsrc);

$src_w = imagesx($imgsrc);

if (($src_h>$max_size)||($src_w>$max_size))

{

if ($src_h > $src_w) {

$ratio = $src_h / $src_w;

$dest_h = $max_size;

$dest_w = $dest_h / $ratio;

} else {

$ratio = $src_w / $src_h;

$dest_w = $max_size;

$dest_h = $dest_w / $ratio;

}



$imgdest = imagecreatetruecolor($dest_w, $dest_h);



imagecopyresampled($imgdest, $imgsrc, 0, 0, 0, 0, $dest_w, $dest_h, $src_w, $src_h);



if ( $destfile == '' ) $destfile = $filename;

imagejpeg($imgdest, $destfile);

imagedestroy($imgdest);

}

else

{

if (($destfile!='')&&(($src_h<600)||($src_w<600)))

Copy($filename,$destfile);

if (($max_size=220)&&(($src_h<220)||($src_w<220)))

Copy($filename,$destfile);



}

imagedestroy($imgsrc);

}

Bonne soirée
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
17 mars 2009 à 00:40
Ami Terrien, pour traiter de grandes images, n'oublie pas également d'utiliser en premier lieu :

ini_set('memory_limit','32M'); // Ou plus ...

(Ce ne sera ptet pas utile, ça dépend du type d'hébergement utilisé)
0
sebshiva Messages postés 194 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 17 juin 2010 10
17 mars 2009 à 00:41
Je t'ai peut-être répondu une connerie suivant ce que tu veux faire...
dans ton upload, précise :
ini_set('memory_limit', 8000000); // en octets

	set_time_limit(600); // en secondes

	$extensions_ok = array('png', 'gif', 'jpg', 'JPG', 'jpeg', 'JPEG');

	$taille_max = 8000000;

	$dest_dossier = 'ton chemin';

	// utilise également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';

	// vérifications

	if( !in_array( substr(strrchr($_FILES['image']['name'], '.'), 1), $extensions_ok ) )

	{

		$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';

	}

	elseif( file_exists($_FILES['image']['tmp_name'])

	and filesize($_FILES['image']['tmp_name']) > $taille_max)

	{

		$erreur = 'Votre fichier doit faire moins de 500Ko !';

	}

	// copie du fichier
...
0
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
17 mars 2009 à 00:45
Aussi, il te faudra penser à aller modifier ton php.ini et mettre le MAX_FILE_SIZE à plus de 2MO (la valeur généralement utilisée). Si t'es sur un hébergement mutualisé, ce ne sera pas possible.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cho88 Messages postés 70 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 17 juillet 2010 1
19 avril 2009 à 16:47
ok merci, ben comme je suis chez free, je pense que c'est pas la peine de réver..!
j'ai plus qu'à les redimensionner avant, pas très drôle étant donné que je veux me servir de ça durant mon voyage pour faire partager mes photos...

enfin, merci quand meme, ton code m'a bien aidé quand meme sebshiva!
0