IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[ImageMagick] imageCreateFromJpeg bouffe de la mémoire


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 764
    Par défaut [ImageMagick] imageCreateFromJpeg bouffe de la mémoire
    salut,
    j'ai trouvé une fonction de redimensionnement d'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
    45
    46
    47
    48
    49
    50
     
    function imageResize_h($src,$dest,$maxWidth,$maxHeight,$quality=100) 
    { 
    	if (file_exists($src) && isset($dest)) { 
    	// path info 
    	$destInfo = pathInfo($dest); 
     
    	// image src size 
    	$srcSize = getImageSize($src); 
     
    	// image dest size $destSize[0] = width, $destSize[1] = height 
    	$srcRatio = $srcSize[0]/$srcSize[1]; // width/height ratio 
    	$destRatio = $maxHeight/$maxWidth; 
    	if ($destRatio > $srcRatio) 
    	{ 
    		$destSize[1] = $maxHeight; 
    		$destSize[0] = $maxHeight*$srcRatio; 
    	} 
    	else 
    	{ 
    		$destSize[0] = $maxWidth; 
    		$destSize[1] = $maxWidth/$srcRatio; 
    	} 
     
    	// path rectification 
    	if ($destInfo['extension'] == "gif") { 
    	$dest = substr_replace($dest, 'jpg', -3); 
    	} 
     
    	$destImage = imageCreateTrueColor($destSize[0],$destSize[1]); 
    SPL :(
     
    	// src image 
    	switch ($srcSize[2]) { 
    	case 1: //GIF 
    	$srcImage = imageCreateFromGif($src); 
    	break; 
     
    	case 2: //JPEG 
    	$srcImage = imageCreateFromJpeg($src); 
    	break; 
     
    	case 3: //PNG 
    	$srcImage = imageCreateFromPng($src); 
    	break; 
     
    	default: 
    	return false; 
    	break; 
    	}
    en testant sur un serveur web (compte mutu chez un hebergeur payant) avec de petites images ça passe, mais avec un jpg de 1,6 mo (résolution : 2048x1536) et j'ai eu ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 8192 bytes) in /home/web/inc/util.inc.php on line 385
    PS : la ligne 385 correspond à l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $srcImage = imageCreateFromJpeg($src);
    sachant que j'ai aucun accès au serveur, et je peux pas ajouter de la mémoire, est-ce qu'on peut optimiser la fonction ? et comment ?

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Essaie de mettre la ligne suivante dans un .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php_value memory_limit "64M"

  3. #3
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 764
    Par défaut
    où dois-je mettre ce fichier ? dans quel dossier ?

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    à côté de ton index.php (ou le fichier appelé par le navigateur)
    peut-etre à la racine...

    C'est une suggestion, c'est pas sur que ton hébergeur t'autorise à bouffer plus de memoire que tu ne devrais. Mais bon, qui ne tente rien n'a rien

  5. #5
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 764
    Par défaut
    waoo ça a marché
    mais je trouve ça assez bizarre : le script n'a pas fonctionné au début à cause d'un manque de mémoire, alors on force le serveur à en donner plus...c'est bizarre que l'hebergeur laisse ce genre de truc actifs !!!! sinon pourquoi il impose une limite ???!!

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Je sais pas. A toi de lui demander

    Par contre si tu veux pas te faire allumer, n'augmente pas à 64M, tu n'en as pas besoin. Limite toi à 20M-24M c'est plus raisonable...

  7. #7
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 764
    Par défaut
    merci
    juste une question : avec mon client FTP Filezilla, j'envoi le fichier .htaccess sur le serveur, quand j'actualise, ce dernier n'est plus affiché !!! pourquoi ???

  8. #8
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    parce que le '.' devant le fichier indique que c'est un fichier caché/système
    Tu dois avoir une option dans ton client FTP qui empeche de voir ce type de fichier. Il sufft de la désactiver...

    To display any hidden files is to select 'View' from the top menu, then select 'Show hidden files'. The screen display will refresh and anything hidden should come into view.

    There is a way to get FileZilla to do this automatically - go to the Site Manager and go through the 'Advanced' options to see just what else you can configure.

  9. #9
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 764
    Par défaut
    ça marche...MERCI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ImageMagick] imagecreatefromjpeg limité à des photos de 2400 pixels
    Par tel22 dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 20/10/2010, 16h56
  2. rtorrent me bouffe toute la mémoire
    Par TocTocKiéLà? dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 28/12/2008, 12h46
  3. [ImageMagick] imagecreatefromjpeg et path
    Par elkion dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 07/12/2006, 17h48
  4. [ImageMagick] imagecreatefromjpeg() ne fonctionne pas avec tous mes jpg
    Par guy2004 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/08/2006, 09h41
  5. mysql bouffe de la place en mémoire !
    Par iubito dans le forum Installation
    Réponses: 9
    Dernier message: 05/11/2003, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo