Question

Pour une application Web d'hébergement d'images:

Pour mes images stockées, est-il possible de créer des miniatures à la volée en utilisant PHP (ou autre chose), ou dois-je enregistrer une ou plusieurs miniatures de tailles différentes sur le disque et les charger?

Toute aide est appréciée.

Était-ce utile?

La solution

Enregistrez les vignettes sur le disque. Le traitement des images nécessite beaucoup de ressources et, en fonction de la taille de l'image, peut dépasser la limite de mémoire autorisée par défaut pour php. Le problème est moins grave si vous avez votre propre serveur avec votre application en cours d'exécution, mais le redimensionnement des images nécessite toujours beaucoup de puissance de calcul et de mémoire. De toute façon, si vous envisagez de créer des vignettes à la volée, vous n'avez pas à changer grand chose: créez la vignette à partir de la source, créez-la à partir du fichier source, enregistrez-la sur le disque et relancez-la à partir du disque <. / p>

Autres conseils

J'utilise phpThumb , car c'est le meilleur des deux mondes. Vous pouvez créer des vignettes à la volée, mais les images sont automatiquement mises en cache pour accélérer les demandes futures. Cela crée un bel emballage autour des bibliothèques GD et ImageMagick. Ça vaut le coup d'oeil!

Il serait bien préférable de mettre en cache les vignettes. Les générer à la volée serait très éprouvant pour le système.

Cela dépend du modèle d'utilisation du site, mais combien de fois pensez-vous que chaque image sera visionnée?

Dans le cas des vignettes, elles sont susceptibles d’être utilisées pendant un bon bout de temps (l’image est téléchargée une fois et ne change jamais, donc la vignette ne change pas non plus), il est donc généralement intéressant de générer une image complète. l'image est téléchargée et stockée pour plus tard. À moins que le site ne soit complètement mort, ils seront visionnés plusieurs fois (des centaines ou des milliers de fois) au cours de leur vie et le disque est bien moins cher que le temps de latence de nos jours. Cela devient également d'autant plus important que la charge sur le serveur augmente.

Inversement, pour des graphiques boursiers mis à jour toutes les heures (si ce n’est plus fréquemment), il serait préférable de les créer à la volée, de manière à ne pas perdre de temps en temps CPU à générer des images qu'aucun utilisateur ne verra jamais.

Vous pouvez également optimiser le traitement de l'un des motifs d'accès en générant les images à la volée dès que vous en avez besoin, puis en affichant ensuite l'image pré-générée jusqu'à ce que les données générées soient générées. à partir de changements, à quel point vous le supprimez pour qu'il soit régénéré la prochaine fois que cela est nécessaire. Mais ce serait exagéré pour quelque chose d'aussi statique que des vignettes, IMO.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top