IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment envoyer une pièce jointe sur une base de données?


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut Comment envoyer une pièce jointe sur une base de données?
    Bonjour,
    Je voudrais ajouter à mon formulaire d'envoi de message la possibilité d'envoyer également une pièce jointe.
    Après des recherches sur internet, je n'ai trouvé que des résultats sur l'envoi de PJ sur un serveur, en utilisant la fonction mail()....etc. Mais,ça ne correspond pas à mon cas, je ne communique pas avec un serveur, mais juste avec ma base de données.
    Pouvez-vous m'aider SVP ?
    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est un formulaire d'upload alors qu'il te faut :
    http://antoine-herault.developpez.co...ls/php/upload/

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 131
    Points : 242
    Points
    242
    Par défaut
    Salut,

    tu crée un nouveau champ de type BLOB, et tu y stocke le contenu de ton fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file_get_contents($_FILES['filename']['tmp_name'])

  4. #4
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut
    file_get_contents($_FILES['filename']['tmp_name'])
    Merci pour votre réponse. Que signifie tmp_name ?

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 131
    Points : 242
    Points
    242
    Par défaut
    tmp_name : le nom de la copie temporaire du fichier stocké sur le serveur
    filename : remplace le par le nom de ton input file

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    Bonjour,

    Méfie toi quand même de ce genre de pratique tu va très vite alourdir ta base en y mettant des fichiers dedans.

    Si tu a de gros volume il vaux mieux stocker le nom et ou le chemin en base et mettre ton fichier ailleurs dans un dossier.

    Sinon les requêtes vont devenir extrêmement lent.

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    voila un exemple pour insérer une photo et après l'afficher dans un profil, bon tu peut le tester pour une image et après pour la pièce jointe que vous voulez:

    voila le code pour déterminer le chemin de l'image que vous voulez insérer dans la BD :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       <label for="avatar">Image perso<span class="small">(facultatif)</span></label><input type="text" name="avatar" value="<?php if(isset($_POST['avatar'])){echo htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');} ?>" /><br />



    code pour afficher la photo stockée dans la BD :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      $dn = mysql_query('ici la requête ');
        if(mysql_num_rows($dn)>0)
        {
        $dnn = mysql_fetch_array($dn);
        if($dnn['avatar']!='')
        {
        echo '<img src="'.htmlentities($dnn['avatar'], ENT_QUOTES, 'UTF-8').'" alt="Image Perso" style="max-width:100px;max-height:100px;" />';
        }
    j'espère que cela vous permet de trouver le code que vous voulez

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/10/2012, 16h23
  2. Réponses: 82
    Dernier message: 05/02/2011, 14h34
  3. Envoyer un e-mail avec une pièce jointe
    Par KDZCrew dans le forum Langage
    Réponses: 1
    Dernier message: 10/11/2010, 15h56
  4. Réponses: 1
    Dernier message: 21/07/2009, 11h51
  5. Réponses: 1
    Dernier message: 10/01/2009, 17h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo