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 : Sélectionner tout - Visualiser dans une fenêtre à part
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