2010-03-18 5 views
0

Donc, j'ai un simple Apache avec MySQL Je développe une application PHP. J'ai la table des utilisateurs dans ma base de données. Je veux les laisser stocker des icônes.Stocker des icônes et Sql avec PHP

Ma question Quelle est la meilleure façon d'attacher des données telles que des icônes (100-250kb) à DB - Est-il préférable de les stocker dans DB ou de les stocker en tant que fichier? Quelle est la meilleure façon? Existe-t-il des classes qui automatisent ce processus (de l'attachement de ces données à la base de données)?

Répondre

2

Je les stockerais sous forme de fichiers et les référencerais à partir de la base de données. J'ai fait l'erreur de stocker des images dans la base de données (comme BLOB je pense) et je l'ai regretté le lendemain quand les connexions db devaient rester ouvertes plus longtemps, les images n'étaient pas cachées quand je les voyais plusieurs fois, etc.

Je suggère seulement de stocker l'image elle-même dans la base de données si c'est absolument nécessaire. Si vous utilisez fréquemment ces images et que vous les affichez plusieurs fois, je suggère de ne stocker que les chemins de fichiers dans la base de données et de conserver les images dans le système de fichiers.

connexes: Storing Images in DB - Yea or Nay?

2

plus facile de garder l'icône sous forme de fichier et stocker le chemin dans la db

la manière la plus efficace au service de l'image est en ayant le serveur Web transmet un fichier directement à partir du disque , donc vous pouvez aussi bien le garder là. l'avoir dans le db rendrait le service plus long et aurait peu d'utilité (il n'y a pas besoin de chercher dans les données binaires de l'image et cela augmenterait de beaucoup la taille de chaque ligne dans la db, rendant les opérations de lecture/itération beaucoup moins efficace en raison de la localité réduite)

Questions connexes