Grandes images et php

Résolu
cho88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -  
cho88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

5 réponses

sebshiva Messages postés 194 Date d'inscription   Statut Membre Dernière intervention   10
 
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   Statut Membre Dernière intervention   116
 
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   Statut Membre Dernière intervention   10
 
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   Statut Membre Dernière intervention   116
 
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   Statut Membre Dernière intervention   1
 
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