Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/09/2007, 01h08   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 8
Points : 1
Points : 1
Par défaut [Upload] Perdu dans la gestion des images

bonjour à tous

j'aimerai créer un script qui gére et affiche des informations sur les évenements de mon association

sur la page vu par les visiteurs il y aurai
- date
- nom de l'évenement
- petit blabla 10 aines de lignes
- 1 à 8 images (en miniatures puis cliquer pour plus grand)

toute la partie jusqu'à l'insertion d'images je sais faire mais apres je suis perdu entre le stockage en "blob" ou par liens et surtout comment le codé pour l'administration, la création de miniatures, relier les images aux bons évenements etc...

il faudrai que celui qui met à jour via l'administration du site puisse ajouter 1 à 8 images, qu'elles soit transformer en miniatures etc...

j'ai lu pas mal de chose mais j'avoue que je m'en sors pas sur ce coup la.

si quelqu'un peut m'aider ca serai gentil

merci
++
thewaawshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 02h49   #2
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Je te conseille :

- de stocker 2 images, une miniature, une taille réèl dans un dossier /bankimage

- sauve en base le nom des images et le nom de sauvegarde sur disque que tu renommes en IDimage1.jpg, IDimage2...(remplace ID par ton ID)
Ex : concert_a_la_baule.jpg - 14image1.jpg

- créez les miniatures quand tu upload tes images (pas besoin de mettre leur nom en base) tu les nomes IDimage1.mini.jpg voir librairie GD pour la transformation

- upload, tu affiches toutes les images disponibles et utilisateur decide de celle qu'il veut remplacer en cliquant dessus

A+
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 08h10   #3
Invité de passage
 
Inscription : septembre 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 8
Points : 1
Points : 1
Merci pour la réponse

le principe sur le "papier" j'ai a peu pres compris la démarche mais disons que pour le codage de tout ca, ca me dépasse, J'ai lu des bouts des codes à droite et à gauche mais sans plus.


je suis au tout début de ce truc, tu me dit "sauve en base" donc j'enregistre l'image direct dans la base c'est ca ?! et pour les tables j'en fait une "grosse" avec une douzaine de champs ou bien je sépares une table animation et une table images dans ce cas les jointures comment cela fonctionne ? etc...

++
thewaawshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 11h40   #4
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Non tu n'as pas besoin de sauver les images dans la base, sauve seulement leurs noms. Les images devront etre sur ton disque pas dans la base de données.

Pour faire tres simple tu as besoin de 2 tables :
- Evenement (Titre, Resume, Date...)
- Image (NomLogic, NomPhysique, Numero)

Tu crées un dossier "/bankimage" pour sauver tes images que tu upload
Tu dois créer un script qui créé automatiquement la miniature.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 12h28   #5
Invité de passage
 
Inscription : septembre 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 8
Points : 1
Points : 1
ok merci j'y vois déja un peu plus clair, je sais pas encore comment codé tout ca mais c'est une autre histoire, juste une ou deux précisions, à quel endroit j'inclus le script de miniatures, un truc séparé ? ou juste avant le bouton "envoyer" ?
étant donné qu'il faudra afficher sur le site les miniatures j'imagine que je dois faire un INSERT des miniatures dans la DB aussi ?! et pour finir dans ta méthode à quoi correspond NomLogic, NomPhysique, Numero je dois également ajouter une ID dans la tables images et faire une jointure c'est ca ?

j'ai commencer par le formulaire voilà comment je vois le truc :


merci
thewaawshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 13h07   #6
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
- Tu dois créer tes miniatures juste apreès l'upload de l'image, ton script qui gère l'upload doit avoir une fonction creerMiniature().

- Non tu n'as pas besoin d'inserer les miniatures dans ta BD, tu dois juste
avoir un nommage claire. Ta miniature dois avoir le meme nom que ton image + le suffixe mini donc pas besoin de la stocker en base.
image.jpg -> image.mini.jpg

TBL_IMAGE
ID | EVT_ID | NUM | NOM_LOGIC | NOM_PHYSIC
ID : ta clé primaire (45)
EVT_ID : clé évènement (Jointure) (3)
NUM : Numéro de l'image
NOM_LOGIC : concert_a_la_baule.jpg.
NOM_LOGIC : 45image5.jpg

Ta miniature s'appelera donc 45image5.mini.jpg pas besoin de la mettre en base mais tu peux le faire si tu veux.


TBL_EVENEMENT
ID | TITRE | RESUME...
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 13h29   #7
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Après réfexion, je te conseille vivement de séparer la gestion de tes images de tes evenements. Ca va peut-etre un peu compliqué pour toi mais au final ca sera plus simple a gérer.

Tu dois créés 3 pages :
1 - une page pour créer tes évènements
1 - une page pour créer et télécharger des images
1 - une page pour lier les images aux évènements
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 13h52   #8
Invité de passage
 
Inscription : septembre 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 8
Points : 1
Points : 1
autant au début j'avais compris autant la je vois plus comment relier tout ca

je viens de créer les tables jusque la ca va

enregistrer la date le titre et le résumé ca va aller je sais faire
mais l'upload et surtout comment récupéré le numéros de l'image (tu ma dit de mettre un champ NUM)
et le nom de l'image alors ca c'est obscure pour moi

voilà une "maquette" de ce que dois voir le visiteur si ca peu aider



je m'excuse par avance si je suis un peu pénible mais j'ai pas encore les automatismes et la logique d'un codeur et en meme temps je fais ca pour rendre service on compte sur moi donc je veux vraiment arriver a créer ce truc d'images

en tout cas merci pour ta patience
thewaawshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 14h13   #9
Invité de passage
 
Inscription : septembre 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 8
Points : 1
Points : 1
voilà comment je fais sans prendre en compte les images pour le moment

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<?
//	INITIALISATION DES VARIABLES --
 
	if(isset($_POST['date'])) $date=$_POST['date']; else $date="";
	if(isset($_POST['titre'])) $titre=$_POST['titre']; else $titre="";
	if(isset($_POST['description'])) $description=$_POST['description']; else $description="";
	if(isset($_POST['action'])) $action=$_POST['action']; else $action="";
 
//	CONNECTION ET SELECTION DE LA DB --
 
	require("../inc/config_inc.php");
	$connexion=@mysql_connect($host,$username,$password);
	mysql_select_db($bdd_name);
 
//	TEST SI ENVOI DEPUIS FORMULAIRE--
 
	if($action=="ajout"){
	$insertActu = "INSERT INTO animation (date, titre, description) VALUES ('$date','$titre','$description')";
 
	mysql_query($insertActu, $connexion) or die('Erreur SQL ! '.$insertActu.''.mysql_error());
	mysql_close($connexion);
}	
 
?>
thewaawshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2007, 14h32   #10
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Oublie mon dernier message si c'est trop compliqué

L'utilisateur va télécharger des images (entre 0 et 8)
Tu vas récupérer tous les images dans ta variables $_FILES
tu auras juste a les copiers dans ton dossier /bankimage
c'est a ce moment la que tu les renommes, que tu créés les miniatures et
que tu les inseres dans ta base.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h56.


 
 
 
 
Partenaires

Hébergement Web