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

PHP & Base de données Discussion :

Upload de photo [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Par défaut Upload de photo
    voila mon souçi , j'ai un formulaire d'upload de photo qui fonctionne et qui m'envoie les photo sur le serveur , j'aimerai que le chemin d'acces a la photo sois plaçé dans une table et associer a la personne qui la uploader !!!!
    pourriez vous m'aider svp ?

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 602
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 602
    Par défaut
    Montre nous ce que tu as déjà essayé de faire

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Par défaut
    voila le code php pour l'upload
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    $dossier = 'upload/';
    $fichier = basename($_FILES['avatar']['name']);
    $taille_maxi = 500000;
    $taille = filesize($_FILES['avatar']['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['avatar']['name'], '.'); 
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    }
    if($taille>$taille_maxi)
    {
         $erreur = 'Le fichier est trop gros...';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
         if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo 'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    else
    {
         echo $erreur;
    }
    ?>
    jusque la tout va bien ! ce que j'aimerai savoir c'est si je peux mettre le chemin d'accés de la photo dans ma base de données dans la table "inscri"
    pour l'associer a la fiche du membre en question ?

  4. #4
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    Bonsoir,

    Il faut intégrer ca dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ...
    if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) {
      $sql = "UPDATE inscri SET `photo` = '" . $dossier . $fichier . "' ";
      $sql.= "WHERE id_utilisateur = $id_utilisateur";
     
      mysql_query($sql) or die("ERR : " . mysql_error() . "<br />SQL = " . $sql);
      echo 'Upload effectué avec succès !';
    }
    ...
    Gillou.

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Par défaut
    merçi legilou ,déçidemment tu me sors souvent de mauvais pas , je te tiens au courant !

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Par défaut re petit souçi
    alors j'ai fais comme tu m' adis mais j'ai du me gouré quelque part car cela ne fonctionne plus et me dis maintenant que je dois télecharger des fichiers de type jpg , png , gif .... voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?php
    mysql_connect("localhost", "xxxxx", "xxxxx");
                   mysql_select_db("xxxxx");
                   $_COOKIE["id"];
    $dossier = 'upload/';
    $fichier = basename($_FILES['photo']['name']);
    $taille_maxi = 500000;
    $taille = filesize($_FILES['photo']['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['photo']['name'], '.'); 
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    }
    if($taille>$taille_maxi)
    {
         $erreur = 'Le fichier est trop gros...';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
         if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo 'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    else
    {
         echo $erreur;
    }
    if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) {
      $sql = "UPDATE inscri SET `photo` = '" . $dossier . $fichier . "' ";
      $sql.= "WHERE id = $id";
     
      mysql_query($sql) or die("ERR : " . mysql_error() . "<br />SQL = " . $sql);
      echo 'Upload effectué avec succès !';
    }
    ?>
    pourrais tu me dire ce qui cloche ? merçi par avance

  7. #7
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    Le code que je t'ai donné, il faut l'intégrer dans ton code.

    Ensuite, tu devrais modifier la ligne qui teste les extensions, pour qu'on puisse uploader des fichiers en majuscules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <?php
    mysql_connect("localhost", "xxxxx", "xxxxx");
                   mysql_select_db("xxxxx");
                   $_COOKIE["id"];
    $dossier = 'upload/';
    $fichier = basename($_FILES['photo']['name']);
    $taille_maxi = 500000;
    $taille = filesize($_FILES['photo']['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['photo']['name'], '.'); 
    //Début des vérifications de sécurité...
    if(!in_array(strtolower ($extension), $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    }
    if($taille>$taille_maxi)
    {
         $erreur = 'Le fichier est trop gros...';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     
         if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    {
      $sql = "UPDATE inscri SET `photo` = '" . $dossier . $fichier . "' ";
      $sql.= "WHERE id = $id";
      //on enregistre en base de données
      mysql_query($sql) or die("ERR : " . mysql_error() . "<br />SQL = " . $sql);
      echo 'Upload effectué avec succès !';
    }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    else
    {
         echo $erreur;
    }
     
    ?>
    Gillou.

  8. #8
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Par défaut
    il faudrais que je modifie a ce niveau ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['photo']['name'], '.'); 
    //Début des vérifications de sécurité...
    if(!in_array(strtolower ($extension), $extensions)) //Si l'extension n'est pas dans le tableau

  9. #9
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Par défaut merçi
    merçi a toi gillou c'est nikel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Upload] upload de photo
    Par scastong dans le forum Langage
    Réponses: 2
    Dernier message: 01/11/2006, 20h53
  2. [Upload] Problème d'upload de photos
    Par Paradise01 dans le forum Langage
    Réponses: 5
    Dernier message: 15/08/2006, 01h36
  3. [Upload] upload de photo PHP
    Par abdel_13 dans le forum Langage
    Réponses: 5
    Dernier message: 19/06/2006, 14h25
  4. [Upload] Upload de photo et modifier le nom
    Par HwRZxLc4 dans le forum Langage
    Réponses: 14
    Dernier message: 08/05/2006, 21h24
  5. [Upload] Uploadé une photo?
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 21/03/2006, 15h33

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