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 01/04/2007, 14h14   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 51
Points : 10
Points : 10
Par défaut Taille maximale pour ImageCreateFromPng

Salut à tous,
je viens de me rendre compte d'un problème sur un site qui semble venir d'ici de la fonction ImageCreateFromPng.

Il semblerai qu'au dela d'une certaine résolution, la fonction ne marche plus et les images ne sont plus créées.
Ca ne vient pas du poid de l'image.

Le problème est il connu ? Quel est la solution ??

Merci pour vos réponses.
vica6a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2007, 09h21   #2
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
Il semble que d'autres aient eu le même soucis :

http://fr2.php.net/manual/fr/functio...atefrompng.php

Va voir les user contrib, ils expliquent comment le résoudre
__________________
Globalement inoffensif
Merci de respecter les règles du forum.
Aucune question technique par MP !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2007, 07h00   #3
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 51
Points : 10
Points : 10
Salut merci de m'aider,
en fait mon memory_limit est à 40Mo, faut il plus pour une image de 1000*1000 ?? :o
vica6a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2007, 07h57   #4
Membre confirmé
 
Avatar de max44410
 
Étudiant
Inscription : juin 2003
Messages : 426
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2003
Messages : 426
Points : 259
Points : 259
Envoyer un message via MSN à max44410 Envoyer un message via Skype™ à max44410
Citation:
Envoyé par vica6a
Salut merci de m'aider,
en fait mon memory_limit est à 40Mo, faut il plus pour une image de 1000*1000 ?? :o
ca depend si c'est des metres, des kilometres ou bien des pixel. ca depend egalement de la compression JPG, PNG, GIF ...

je pense pas.
__________________
Venez voir par là...
max44410 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2007, 14h32   #5
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 51
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 51
Points : 10
Points : 10
J'ai récupéré un script :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$MB = Pow(1024,2);   // number of bytes in 1M
$K64 = Pow(2,16);    // number of bytes in 64K
$TWEAKFACTOR = 1.8;   // Or whatever works for you
$memoryNeeded = round( ( $imageInfo[0] * $imageInfo[1]
                                        * $imageInfo['bits']
                                        * $imageInfo['channels'] / 8
                          + $K64
                        ) * $TWEAKFACTOR
                     );
$memoryHave = memory_get_usage();
$memoryLimitMB = (integer) ini_get('memory_limit');
$memoryLimit = $memoryLimitMB * $MB;
 
if ( function_exists('memory_get_usage')
     && $memoryHave + $memoryNeeded > $memoryLimit
   ) {
   $newLimit = $memoryLimitMB + ceil( ( $memoryHave
                                      + $memoryNeeded
                                      - $memoryLimit
                                      ) / $MB
                                    );
   ini_set( 'memory_limit', $newLimit . 'M' );
}
et voici quelques variables aui trainent sur la page :
Code :
1
2
3
40 - memoryLimitMB
41943040 -  memoryLimit
10749253 -  $memoryHave + $memoryNeeded
Donc les deux dernieres valeurs sont en octets.
On remarque que je ne dépasse pas la limite de 40Mo.

Merci de votre aide
vica6a est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h54.


 
 
 
 
Partenaires

Hébergement Web