comment Upload une image a une bdd avec php/mysql

Eléphant du PHP | 417 Messages

17 mai 2011, 09:57

j'ai un formulaire et j'arrive pas a Upload les images sur ma bdd
je fait comment ?

je suis en stage et c'est urgent

Merci d'avence.

Mammouth du PHP | 672 Messages

17 mai 2011, 11:09

Bonjour.
j'ai un formulaire et j'arrive pas a Upload les images sur ma bdd
je fait comment ?

je suis en stage et c'est urgent .
Deux solutions :
- Tu vois en stage des choses que tu es sensé connaître => tu n'as pas à demander.
- Ton tuteur de stage te fais faire des choses que tu n'es pas sensé connaître => il te les explique (c'est le principe du stage) ou tu ne les fais pas.


Et sinon, il faudrait détailler un peu ton problème - ce que tu dois faire, ce que tu as fait, ce qui ne fonctionne pas...
De rien.

Eléphant du PHP | 417 Messages

17 mai 2011, 11:30

mon sujet c'est de développer une rubrique portfolio qui permet d'ajouter un nouveau enregistrement,modifier ou supprimer
et dans mon formulaire j'ai par exemple :
*****************************************************
titre :
nom client :
date :
description :
image 1 : ( avec un bouton parcourir bien sur)
image 2 :
image 3 :

et bouton valider
******************************************************

bon grace a ce forum j'ai réussi l'insertion des données (titre,nom client, date, description) mais pour l'image je sais pas comment faire sachant que je suis débutant en php

j'ai quand même réfléchi un peu sur les étapes pour enregistrer la foto et j'ai fait ce schéma :

1 placer l'image dans un répertoire temporaire
2 crée un un nouveau répertoire pour chaque enregistrement et dans cet répertoire enregistrer les 3 images de
chaque enregistrement
3 copié l'image du répertoire temporaire vers répertoire correspondant à l'enregistrement.
4 enregistrer (id, nom_image, id_enregistrement, chemin) de l'image dans la table image_portfolio

voila je sais pas si c'est comme ça qu'il faut faire mais bon ...
j'aimerai bien m'aider me donner des exemples et des cours

Merci à vous
Modifié en dernier par miiidooo19 le 17 mai 2011, 11:34, modifié 1 fois.

Eléphant du PHP | 417 Messages

17 mai 2011, 11:33

Bonjour.

Deux solutions :
- Tu vois en stage des choses que tu es sensé connaître => tu n'as pas à demander.
- Ton tuteur de stage te fais faire des choses que tu n'es pas sensé connaître => il te les explique (c'est le principe du stage) ou tu ne les fais pas.


Et sinon, il faudrait détailler un peu ton problème - ce que tu dois faire, ce que tu as fait, ce qui ne fonctionne pas...
De rien.
Merci pour la réponse mecgawel

oui normalement c'est ça mais bon j'ai eu de la chance de trouver ce stage à la dernière min ^^

faire des recherche sur internet ça va m'aider mieux ^^

Merci encore

Mammouth du PHP | 672 Messages

17 mai 2011, 11:43

Il va falloir apprendre à chercher sur le net :roll:

- Une classe pour gérer les fichiers uploadés sur le forum
- Un tutoriel sur le site

Pour ce qui est de la BDD, il fuat récupérer les infos qui t'intéressent et les mettre dans la table.
Tutoriel sur l'utilisation d'une BDD avec PHP ICI.
Attention, le tuto date un peu, tu devrais te pencher sur PDO (par exemple)...

[Edit] oubli d'un crochet :oops:
Modifié en dernier par macgawel le 17 mai 2011, 14:15, modifié 1 fois.

Eléphant du PHP | 417 Messages

17 mai 2011, 11:49

oui t'as raison ^^

Jvé aller voir un peu ce que ça donne les liens que tu m'as passé et je revien ^^ te dire si c'est ce que je cherche :o ou pas :? ^^ et si j'ai compris :D ou pas :( ^^

Merci et à bientôt :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

17 mai 2011, 14:12

perso j'ajouterais simple LA DOC :)

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 417 Messages

18 mai 2011, 21:45

Merci macgawel et moogli c'était vraiment ce que je voulais ^^ et ça marche ^^

par contre là j'ai un autre problème et je pense pas que sa sera le dernière dans mon stage ^^ après avoir Upload les images j'aimerai bien les renommer selon leur Id

je vous explique bien :) :

Après l'Upload j’insère les information de l'image dans une table "images" (id_img,nom_img,id_sujet,chemin_img et legende_img)

après je récupère l'id et le chemin de l'image avec cette méthode :
//création de la requête
$req2 = "SELECT * from image ORDER BY id_img DESC LIMIT 1";

//exécution de la requête sql
$execution = mysql_query($req2, $cnx) or die (mysql_error());

$result = mysql_fetch_object( $execution );

$id_img = $result->id_img;

$chemin_img = $result->chemin_img;

aprés je recupére l’extension de l'image avec cette méthode : $extension = substr(strrchr($_FILES['photo']['name'], '.'), 1);

TOUS ça c'est fait.
******************************************************************************************************************************************************
maintenant j'ai le chemin, l’extension et l'id de l'image danc je veux la renommer dans la répertoire images
au lieu de C:\Program Files (x86)\EasyPHP-5.3.5.0\www\stage\images/NomImage.gif

je veux C:\Program Files (x86)\EasyPHP-5.3.5.0\www\stage\images/$id_img.$extension
*********************************************************************************************************************************************************

j'esper que vous avez comprer mon problème ?

je suis la pour plus d'info merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 mai 2011, 21:58

salut,

c'est dangereux mais tu peux faire un uplaode provisoire, faire l'insertion dans la table est utilise mysql_last_id plutot qu'un requete pour avoir le dernier id inséré ;)

a partir de la, la fonction [url=http://www.php.net/rename]rename[url] pourra t'aider :)


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 417 Messages

18 mai 2011, 22:05

Un upload provisoire ? c'est à dire?

pour mysql_last_id j'ai essayé mais j'arrive pas et avec la méthode que j'ai fait sa marche sa me donne tjr le dernière id

et merci pour le lien jvé aller voir ^^

juste une dérnier question puisque tu es la encor ^^ pour le chemin d'enregistrer les images dans la répertoire images (C:\Program Files (x86)\EasyPHP-5.3.5.0\www\C4i\images)

quand je veux difinire le chemin je met tous ça ? psk jé vu sur des sujet un certain home/.../... j'ai pas compris

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 mai 2011, 23:41

tu peux très bien ne mettre qu'un chemin relatif, il sera relatif au script, donc parfois tu peux être étonné du résultat ;)

le plus simple étant d'utiliser le chemin complet comme tu le fait, mais attention, les serveurs en lignes, sont généralement et des serveur unix et de toute façon n'aurais pas la même architecture que toi ;)

pour le reste c'est mysql_insert_id désolé, je confond avec ma méthode perso :oops:

si tu veux faire ne requete SQL fait plutot ainsi SELECT LAST_INSERT_ID() as dernierID;
et tu récupère la valeur dans dernierID.

Pour l'upload provisoire tu le réalise completement dans un répertoire temporaire, (pour être sur que le fichier existe, conforme a ce que tu attend etc) et après tu insert en base, puise tu le déplace en le nommant avec l'id.


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 417 Messages

19 mai 2011, 10:43

Bonjour moogli cava?

alors merci pour ton aide j'ai réussi des truc ^^
tu peux très bien ne mettre qu'un chemin relatif, il sera relatif au script, donc parfois tu peux être étonné du résultat ;)

le plus simple étant d'utiliser le chemin complet comme tu le fait, mais attention, les serveurs en lignes, sont généralement et des serveur unix et de toute façon n'aurais pas la même architecture que toi ;)
pour le reste c'est mysql_insert_id désolé, je confond avec ma méthode perso :oops:

si tu veux faire ne requete SQL fait plutot ainsi SELECT LAST_INSERT_ID() as dernierID;
et tu récupère la valeur dans dernierID.
pour dernière id j'ai utilisé la function mysql_insert_id() est ça marche =D>
Pour l'upload provisoire tu le réalise completement dans un répertoire temporaire, (pour être sur que le fichier existe, conforme a ce que tu attend etc) et après tu insert en base, puise tu le déplace en le nommant avec l'id.
pour l'upload j'ai utilisé ta méthode (upload provisoire) est ça marche aussi =D>

scienti
Invité n'ayant pas de compte PHPfrance

11 avr. 2012, 20:19

Bonsoir,
j'arrive surement un peu tard mais ce post apparaît parmis les premiers sur Google.
Je me permet donc un petit lien vers un petit(encore :D) tuto qui explique rapidement comment "upload" une image dans une base de donnée avec Php et MySql

http://webinfobazar.com/upload-dune-ima ... p-php-sql/

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

12 avr. 2012, 12:12

Effectivement un peu tard, dommage que le code ne soit pas orienté php5 ^^
Il en faut peu pour être heureux ......