Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
bonsoir à tous
voila en plein developpement de mon site je me remet en question sur la maniere donc je suis en train de developper mon module de gestion des images.
voila je m'explique l'application doit permettre à des users de poster des annonces seulement une annonce à une image principale et 3 images en plus. pour l'instant j'ai juste une table annonce et lorsque j'upload l'image principale elle est renommer avec id de l'annonce.
le pb c'est justement pour les image suivantes d'ou mon intention de créer une table photos qui enregister les chemins des images. question est ce la bonne maniere de faire ou hesite-t-il peut d'autre facon de faire.
merci d'avance pour vos retour d'experience.
Hors ligne
Perso, je ferais un truc du genre :
- Table "annonces" : annonce_id, etc...
- Table "images" : image_id, image_path, etc...
- Table "annonce-image" : anim_id, anim_annonce_id, anim_image_id, anim_img_principale
La table "annonce-image" me permettrait de rattacher autant de photos que je veux à 1 annonce (4 aux max si tu le souhaites mais ça, c'est au niveau du programme que je le gèrerais). Pour la photo principale, je me servirais d'un attribut de type booleen, "anim_img_principale" par exemple...
Dernière modification par oVa (19-04-2009 22:41:48)
Hors ligne
Pour ma part j'enregistre pas le path de l'image mais le md5 de l'image.
Ce md5 me permet de définir 2 sous dossiers ou il se trouve.
Exemple : 91a245bdeb817d3b0424e7d3505b609f le path donne mon_dossier_image/9/1/91a245bdeb817d3b0424e7d3505b609f.extension
Pour les autres images de taille différentes je leurs rajoutent un suffixe avant l'extension tel que _160x120.
Hors ligne
@xender
justement je remarque que c'est une methode plutot tres utiliser je viens de le constater sur d'autre site. Alors si je comprend bien tu ne crée pas de table specifique aux images? et t'enregister le md5 de l'image!!! sinon tu peux m'expliquer comment tu geres les path des images? en d'autres tu crées les repertoire(/9/1/) à la main ou avec un script? j'espere que je me trompe pas sur la methode que t'essaye de m'expliquer
merci d'avance
Dernière modification par yveson33 (20-04-2009 01:04:54)
Hors ligne
A la main ! oula je suis bien trop feignant
Je procède ainsi dans mon controller :
$s_hash = md5(uniqid(rand(), true)); $s_path = Xender_FileSystem_Dir::createUniqueStorage( $s_path, $s_hash );
Le code de la fonction createUniqueStorage :
public static function createUniqueStorage( $s_path, $s_hash ){ //self::make( $s_path, 0750 ); $s_path .= substr ( $s_hash, 0, 1 ) . '/'; self::make( $s_path, 0750 ); $s_path .= substr ( $s_hash, 1, 1 ) . '/'; self::make( $s_path, 0750 ); return $s_path; }
Hors ligne
merci xender
comme toujours une derniere question à quoi correspond la methode static "make" dans ta fonction?? c'est pas une methode systeme?
et la dernier vue que tu geres de maniere aleaotoire les dossiers images.
comment tu peux identifier dans ce cas par exemple tous les images d'un utilisateur ? sinon tu dois tagger le numéro aleatoire pour pouvoir l'identifier avec le numero(id) de l'utilisateur à la fin du numéro aleatoire par exemple ?
merci
Dernière modification par yveson33 (20-04-2009 16:31:38)
Hors ligne
@ xender
merci pour ton aide en fait je me suis servi de ta methode que j'ai customé à ma maniere pour etre plus adaptable à mon site merci a toi . donc je genere la serie de caractere aleatoire qui contient en debut l'id de l'annonce. pour plus facilement m'amuser avec l'id que je connais deja.
Hors ligne