2009-12-29 4 views
0

J'essaye de télécharger une image dans un répertoire sur un serveur. J'utilise le tutoriel trouvé au http://www.reconn.us/content/view/30/51/.(php) - aider à écrire un script pour télécharger des images

D'abord, est-ce une bonne méthode pour télécharger des images en utilisant PHP? Deuxièmement, je vais également stocker l'information dans une base de données MySQL. Qu'est-ce qu'un bon moyen de traiter avec des images qui ont le même nom que l'utilisateur télécharge? Par exemple, si un utilisateur télécharge un fichier 'test.png' 2x à la suite, qu'arrivera-t-il au deuxième nom de fichier? À partir du script ci-dessus, les deux obtiendront un nom de fichier unique, mais comment puis-je en tant qu'utilisateur accéder à cette image à nouveau? Je ne pouvais pas simplement faire une requête parce que le seul nom que je connaissais était le nom en double que je lui ai donné, et je ne connais absolument pas le nom unique que le serveur lui a donné ...

Troisièmement, qu'est-ce qu'un bonne taille de fichier max pour les images?

Répondre

1

Vous pouvez signaler l'URL unique à l'utilisateur après le téléchargement afin que l'utilisateur sache où trouver l'image. Ainsi, le premier test.png pourrait être http://www.example.com/images/fjdklagjsdl.jpg et le second pourrait être http://www.example.com/images/jklfsdlkj.jpg

Vous pouvez également fournir une sorte d'interface pour que les utilisateurs puissent voir les images qu'ils ont téléchargées. Si vous affichez une vignette de l'image téléchargée à côté du nom de fichier unique de l'image, l'utilisateur pourra facilement identifier l'image à laquelle elle appartient.

0

Ceci est la méthode que j'utilise:

  1. utilisateurs télécharger des images

  2. Server enregistre l'image avec un nom de fichier unique (GUID ou quelque chose) et les magasins - à la fois - le nom de fichier unique généré et nom de fichier téléchargé d'origine dans une base de données

  3. les images sont liées à l'aide de l'original_filename, unique_filename ou primary_key pour la table images.

Les images proviennent du serveur et sont servies en utilisant le nom de fichier d'origine stocké dans la base de données. De cette façon, vous évitez les risques de conflits de noms de fichiers et vous préservez le nom de fichier original de l'image. En outre, cela vous permet de créer une recherche sur la colonne original_filename pour que l'utilisateur puisse l'utiliser.

Avec cette méthode, les noms de fichiers uniques ne doivent jamais être exposés à l'utilisateur, mais ils sont utilisés pour localiser l'image associée à un id ou un original_filename spécifique dans la table 'images`.

Bien sûr, si vous ne vous souciez pas de donner le nom de fichier d'origine à l'image lors de son affichage, vous pouvez simplement générer un nom de fichier unique chaque fois que vous voulez le stocker.

Questions connexes