![]() Alexis Raimbault | "planter le serveur" est un bien grand mot. Le script php se bloque pour l'utilisateur, les autres sont ralentis, c'est tout. En fait on peut je pense calculer automatiquement le seuil max en fonction de la mémoire dispo, et informer l'utilisateur bien sûr. Discussion à intégrer avec la refonte de la gestion des images Alexis Raimbault webmaster free-lance |
![]() Jmarc | Alexis : oups... j'avais lu trop vite et pas compris l'histoire du plantage du serveur. Effectivement, mieux vaut contrarier un utilasateur en l'empechant de charger des images trop grandes plutot que de planter le serveur. Dans ce cas, outre ta suggestion pertinente, je vois une autre amélioration à intégrer : informer l'utilisateur que ces images ne sont pas chargées car elle dépassent les 2000 pixels
|
![]() Alexis Raimbault | JM, je suis d'accord avec le comportement que tu décris : les images de 2000px sont supprimées avant d'avoir été redimensionnées. j'ai expliqué pourquoi : parce que cela peut faire planter ton serveur, suivant la mémoire dispo attribuée par l'hébergeur. Alexis Raimbault webmaster free-lance |
![]() Jmarc | Alexis : dans la version 10.2, les images de plus de 2000 pixel (téléversées dans un zip) étaient supprimées avant de pouvoir être redimmensionnées par le reste du script. Je n'accepte pas d'image de plus de 800 pixel sur le site mais dans le cas décrit ci-dessus, il était impossible de redimmensionner les images téléversées.
|
![]() Alexis Raimbault | JM, dans le premier cas l'image sera redimensionnée aussi, plus tard dans les scripts. C'est juste une précaution concernant la sécurité. On pouvait faire planter yacs en chargeant une image de grande dimension, telle qu'il ne puisse la redimensionner avec la mémoire que lui attribue l'hébergement. Dans ce cas les scripts s'arrettaient brutalement. Par contre effectivement 2000px definit en dur dans le code, c'est pas super. Il faudrait mieux une constante initialisée dans Skin::initialize, que chaque administrateur pourra surcharger via son skin.php. à part ça, tu affiches des images de plus de 2000px carré ? c'est la navigation home cinema !
Alexis Raimbault webmaster free-lance |
Projets « Gestion des images «
téléversement multiple de grandes images
Sur yacs martin 10.2, le téléversement multiple d'image refuse les images dont la largeur ou la hauteur dépasse 2000 pixels.
Pour éviter cette limite et être cohérent avec la taille des images définie pour le site yacs, je suggère la modification suivante.
Dans images/upload.php, remplacer le code :
// kill images that are too large - 2,000 x 2,000 x 3 = 12MB
elseif(($attributes[0] > 2000) OR ($attributes[1] > 2000))
Safe::unlink($name);
par le code :
//maintain image size within limits
Image::adjust($context['path_to_root'].$name, TRUE, 'standard');
Ainsi, l'image n'est plus refusée mais seulement redimensionnée à la taille maxi définie dans la configuration du site.












