Comment puis-je stocker et de récupérer des images à partir d'une base de données MySQL à l'aide de PHP?
Comment puis-je insérer une image dans MySQL et ensuite le récupérer en utilisant PHP?
J'ai une expérience limitée dans la zone, et je pourrais utiliser un peu de code pour me faire comprendre cela.
- je recommande également cette pensée à travers et puis de choisir pour stocker des images dans votre système de fichiers plutôt que de la DB .. voir ici: stackoverflow.com/questions/3748/...
Vous devez vous connecter pour publier un commentaire.
Tout d'abord vous créer une table MySQL pour stocker des images, comme par exemple:
Ensuite, vous pouvez écrire une image de la base de données comme:
Vous pouvez afficher une image à partir de la base de données dans une page web avec:
mysql_real_escape_string
maintenant.Au lieu de stocker des images dans la base de données, de les stocker dans un dossier de votre disque et de les stocker dans votre base de données.
Méfiez-vous que la diffusion d'images à partir de DB est généralement beaucoup, beaucoup beaucoup plus lent que de servir de disque.
Vous allez commencer un processus PHP, l'ouverture d'une connexion DB, ayant la DB lire les données d'image à partir du même disque et de RAM pour le cache du système de fichiers que serait, en la transférant sur quelques-uns des sockets et des tampons et puis en poussant via PHP, qui, par défaut, en fait non cachable et ajoute de la surcharge de chunked HTTP encodage.
Otoh, que des serveurs web modernes peuvent servir d'images avec juste quelques optimisé noyau appels (fichier mappé en mémoire et que la zone de mémoire transmis à pile TCP), de sorte qu'ils n'ont même pas de copie de mémoire autour et il n'y a presque pas de frais généraux.
C'est une différence entre être capable de servir de 20 ou 2000 images en parallèle sur une machine.
Afin de ne pas le faire, sauf si vous avez absolument besoin de l'intégrité transactionnelle (et en fait même ce qui peut être fait avec seulement les métadonnées de l'image dans la bd et le système de fichier routines de nettoyage) et de savoir comment améliorer PHP manipulation de HTTP pour être adapté aux images.
je recommande également cette pensée à travers et puis de choisir pour stocker des images dans votre système de fichiers plutôt que de la DB ..
voir ici: Le stockage des Images dans la bd - Oui ou Non?
À mon avis, au Lieu de stocker des images directement dans la base de données, Il est recommandé de mémoriser l'emplacement de l'image dans la base de données. Comme nous l'comparer les deux options, le Stockage des images dans la base de données est sûr pour des raisons de sécurité. L'inconvénient est
Si la base de données est endommagé, aucun moyen de le récupérer.
La récupération des fichiers image à partir de db est lent lors de la comparer à d'autres option.
D'autre part, le stockage des images, l'emplacement du fichier dans la db va avoir des avantages suivants.
Il est facile de récupérer.
Si plusieurs images sont stockées, on peut facilement récupérer les informations de l'image.
Personnellement, je ne reviendrai pas stocker l'image dans la base de données, au Lieu de le mettre dans un dossier non accessible de l'extérieur, et l'utilisation de la base de données pour garder une trace de son emplacement. garde de la base de données de la taille vers le bas et vous pouvez simplement l'inclure en utilisant PHP. Il n'y aurait aucun moyen sans PHP pour accéder à cette image puis