Bonjour à tous,

Je suis en train de faire un script pour que mes membres puissent uploader des images lourdes

Voici ce script, ou plutôt la partie concernée, qui resize les images:
Code : 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
 
switch ($extension_fichier) {
 
         case 'jpg':  // si l'extension est un jpg
         case 'jpeg': // ou un jpeg
 
		// on récupère le fichier temporaire pour le redimensionner
$fichier_redim = $fichier_temporaire;
 
		// puis on récupère la taille
list($width, $height) = getimagesize($fichier_redim);
 
 
 
		// si la hauteur de base est plus petite ou égale à $hauteur alors générer l'image avec ses dimensions d'origine
if ($height <= $hauteur){ 
$y = $height;
$x = $width;
 
		// sinon définir une hauteur max de $hauteur en conservant les proportions
} else {
$y = $hauteur; 
$x = (int) (($width*$y)/$height);
 
}
 
 
$taille_fichier_redim = getimagesize($fichier_redim);
 
if ($taille_fichier_redim) {
 
		// On ouvre l'image d'origine
$img_big = imagecreatefromjpeg($fichier_redim);
$img_new = imagecreate($x, $y);
		// génère la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
 
		// copie de l'image finale
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$taille_fichier_redim[0],$taille_fichier_redim[1]);
imagejpeg($img_mini,$fichier_redim );
 
}
    break;
Je suis conscient que ce n'est pas très propre mais je ne suis pas professionnel

Le script fonctionne mais quand j'essaye d'uploader un fichier d'un peu plus de 2mo j'ai une erreur qui dit que je dépasse la mémoire allouée (39mo)

J'ai des soupçons sur le double "getimagesize" ?

C'est intégré à un script d'upload, il me semble que c'est plus sécurisé ainsi ?

Qu'en pensez vous ?

Edit:
Voici l'erreur, somme toute assez basique
Fatal error: Allowed memory size of 39845888 bytes exhausted (tried to allocate 13824 bytes) in /home/users5/b/brunomichel/www/boutique_import/oscuploadify.php on line 72
J'imagine que si il y a deux uploads simultanés c'est une catastrophe ?

Bien cordialement
Bonne soirée