Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/03/2007, 09h46   #1
Invité de passage
 
Inscription : mars 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 2
Points : 0
Points : 0
Par défaut problème avec la fonction imagecreatefromjpeg

Bonjour,

J'ai un la pack perso confort chez 1&1.

J'ai un script pour créer des vignettes en PHP. Le souci est que pour des images de grande taile, la fonction imagecreatefromjpeg s'arrête comme vous pouvez le voir ici :
http://remember.sinfuo.fr/test/admin/copie.php

Voici le script copie.php :

Code PHP :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
 
$tableau = array();
$dossier = opendir ('public/'); 
$dossierm = opendir ('mini/'); 
 
$src1 = 'public/'; 
$dst = 'photo/'; 
$mini = 'mini/';
 
 
$p=0;
while ($fichier = readdir ($dossier)) {
    if ($fichier != '.' && $fichier != '..' && $fichier != 'index.php') {
        $tableau[] = $fichier;
	echo "<p>$fichier enregistrÚ $p</p>";
	$p=$p+1;
    }
} 
closedir ($dossier);
 
for($i=0;$i<$p;$i++)
{
 
	copy ($src1.$tableau[$i],$tableau[$i]);
	echo '<p>Fichier '.$tableau[$i].' copiÚ '.$i.'</p>';
 
	$s=$tableau[$i];
	$d=$tableau[$i]."v";
	redimage($s,$d,70,50,"JPG");
 
	echo '<p>Miniature '.$tableau[$i].' créé '.$i.'</p>';
 
 
}
 
while ($fichier = readdir ($dossierm)) {
    if ($fichier != '.' && $fichier != '..' && $fichier != 'index.php') {
    	$tableau[] = $fichier;
        echo "<img src='".$mini.$fichier."'>";
 
    }
} 
closedir ($dossierm);
 
 
function redimage($img_src,$img_dest,$dst_w,$dst_h,$ext) {
   	// Lit les dimensions de l'image
   	$width = 70;
	$height = 20;
 
	// Get new dimensions
	list($width_orig, $height_orig) = getimagesize($img_src);
 
	$ratio_orig = $width_orig/$height_orig;
 
	if ($width/$height > $ratio_orig) {
   		$width = $height*$ratio_orig;
	} else {
   		$height = $width/$ratio_orig;
	}
   	$dst_im = ImageCreateTrueColor($width, $height); 
   if(!$dst_im){
        echo "Erreur : Buffer non cr&eacute;&eacute; : ".$dst_img;
   }
   // Copie dedans l'image initiale redimensionnÚe
   switch(strtoupper($ext))
   {
   		case "GIF":
		$src_im = imagecreatefromgif($img_src);
		break;
		case "PNG":
		$src_im = imagecreatefrompng($img_src);
		break;
		default:
		//$src_im = imagecreatefromgd2($img_src);
		echo "<p>avant imagecreatefromjpeg</p> ";
		$src_im = imagecreatefromjpeg($img_src) or die ("Erreur lors de la création de l'image");
		if(!$src_im){
       			echo "Erreur : création image : ".$src_im;
   		}
		echo "<p>après imagecreatefromjpeg</p>".$dst_img;
		break;
	}
   ImageCopyResampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h); 
   //imagecopyresized($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
   // Sauve la nouvelle image
   switch(strtoupper($ext))
   {
   		case "GIF":
		imagegif($dst_im,$img_dest);
		break;
		case "PNG":
		imagepng($dst_im,$img_dest);
		break;
		default:
		//imagegd2($dst_im,$img_dest);
		imagejpeg($dst_im,$img_dest);
		break;
	}
   // Détruis les tampons
 
   imagedestroy($dst_im);  
   imagedestroy($src_im);
}
?>

J'ai essayé ce script sur un autre hébergeur comme free et il marche nickel.
Je me suis dit que c'atait peut être un problème de mémoire serveur mais le memory limit est de 40M pour 1&1 alors qu'il est seulement de 20M chez free.

Pouvez-vous m'aider s'il vous plaît ?

Merci
sinfuo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 14h58   #2
Modérateur
 
Avatar de blueice
 
Inscription : mars 2003
Messages : 3 422
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2003
Messages : 3 422
Points : 4 110
Points : 4 110
Envoyer un message via ICQ à blueice Envoyer un message via MSN à blueice Envoyer un message via Skype™ à blueice
Fait un phpinfo() pour vérifier si la lib GD est supporté
__________________
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
Pensez également à cocher

Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

Dimension Internet - Carnet Web
Imprimerie Nice
blueice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 16h45   #3
Invité de passage
 
Inscription : mars 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 2
Points : 0
Points : 0
Oui bien sûr elle est supportée

Et tu verras dans le lien que j'ai mis que la première vignette a bien été crée mais pas la seconde.
sinfuo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h20.


 
 
 
 
Partenaires

Hébergement Web