Je ne comprends toujours pas vraiment le stockage d'images et l'affichage. Laissez-moi vous donner un exemple, ce que j'ai fait en premier (les gens disent que ma logique est une mauvaise idée). Je l'ai fait au début, chaque utilisateur a un dossier avec un user_id
, et après le formulaire a été soumis, il enregistre l'image avec un unique name
dans ce dossier et le nom de l'image aussi, avec l'extension dans la base de données, et je « ai montré l'image correspondant au nom de fichier dans le dossier avec le nom enregistré dans la base de données,stocker et montrer des images
exemple (ici sautons le nom unique, juste pour le rendre plus clair un peu)
un utilisateur télécharge une image nommé butterfly.jpg
l'image est stockée dans la base de données ase
id | name |
1 | butterfly.jpg |
et stockés dans un dossier aussi avec le même nom
/images/user_id/butterfly.jpg
et montrant l'image de cette façon
<img src="images/unser_id/<?php echo $name ?>" alt="">
Il correspond aux noms (je l'espère avoir été clair désolé si non)
Donc, je sais que ma logique est une mauvaise logique, parce que le stockage des noms dans la base de données conduira à un énorme, peut-être à d'autres problèmes dans le futur plus tard
Et ce que je voudrais demander si ce n'est pas une grande requête, si quelqu'un pouvait écrire un fil de logique avec quelques exemples de codes (je ne demande pas de l'écrire pour moi), juste pour me donner l'idée de ce que je manque
Et d'autres questions sur ce que je lis à propos
Certains développeurs disent, ils stockent uniquement le nom du dossier d'image dans la base de données, qui est d'accord, mais comment puis-je montrer ces images si seulement le nom du dossier est stocké? car il aura peut-être plus d'une image comme 3 l'image originale et 2 autres miniatures. Alors s'il vous plaît ne me détestez pas avec cette question, je l'ai seulement demandé parce que je voudrais apprendre et obtenir des conseils d'un développeur plus expérimenté.
Bien, si vous ne voulez pas stocker les noms d'image dans db peut-être vous pouvez stocker juste le nom du dossier et que itérer le répertoire et afficher les images en boucle? – vodich
À propos de quel énorme problème parlez-vous cela va conduire à? Je veux dire que si vous voulez apprendre quelque chose, vous devriez poser votre question, ne pas la cacher;) – hakre
Si chaque ligne de la table des images prend '512' octets (il ne va pas) et vous avez 1 000 000 images, cela serait conduire à une taille de base de données de 488 (+/- quelques Mo d'overhead) mégaoctets. Ce qui n'est pas énorme du tout (vos images prendront beaucoup plus de place) Ne vous inquiétez pas pour de telles choses. L'optimisation prématurée est la racine de tout Mal. – vanneto