par
Ryle » 10 mars 2008, 14:44
Effectivement, à moins d'avoir besoin d'effectuer des traitement ou des recherches de teintes, de couleurs, de luminosité ou de constraste sur une image, il n'y a pas un grand intérêt de la stocker dans la base. Les performances pour récupérer une image dans la base plutôt que dans un dossier sont nettement moins efficaces...
Quoi qu'il en soit, Pour l'y enregistrer, il te faut un champ de type BLOB, dans lequel tu pourras stocker le flux (ou la chaine) de ton fichier (que tu peux par exemple obtenir avec les fonctions php imageCreateFrom*).
Pour l'afficher, c'est la procédure inverse, tu créer une image à partir de la chaine que tu as stockée en base (imageCreateFromString()) et tu la retournes vers le navigateur pour qu'il l'affiche comme s'il s'agissait d'un fichier statique.
Il est donc très fortement recommandé - à moins que ta vie et celles des habitants de Los Angeles, ou de toute autre grosse aglomération américaine, n'en dépendent - de stocker tes fichiers sur le disque du serveur et de n'enregistrer en base que le chemin pour y accéder (et éventuellement le poids, la date de maj ou autre info qui pourraient t'être utiles et qui t'éviteraient de devoir aller consulter le fichier)

Effectivement, à moins d'avoir besoin d'effectuer des traitement ou des recherches de teintes, de couleurs, de luminosité ou de constraste sur une image, il n'y a pas un grand intérêt de la stocker dans la base. Les performances pour récupérer une image dans la base plutôt que dans un dossier sont nettement moins efficaces...
Quoi qu'il en soit, Pour l'y enregistrer, il te faut un champ de type BLOB, dans lequel tu pourras stocker le flux (ou la chaine) de ton fichier (que tu peux par exemple obtenir avec les fonctions php imageCreateFrom*).
Pour l'afficher, c'est la procédure inverse, tu créer une image à partir de la chaine que tu as stockée en base (imageCreateFromString()) et tu la retournes vers le navigateur pour qu'il l'affiche comme s'il s'agissait d'un fichier statique.
Il est donc très fortement recommandé - à moins que ta vie et celles des habitants de Los Angeles, ou de toute autre grosse aglomération américaine, n'en dépendent - de stocker tes fichiers sur le disque du serveur et de n'enregistrer en base que le chemin pour y accéder (et éventuellement le poids, la date de maj ou autre info qui pourraient t'être utiles et qui t'éviteraient de devoir aller consulter le fichier) ;)