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 fichier + création répertoire + MySQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Par défaut upload fichier + création répertoire + MySQL
    Bonjour à tous

    Je débute en PHP et aimerait faire ceci :

    => Associer un fichier uploadé à un utilisateur (celui qui upload le fichier) , stocké le tout dans une base de données, avec l'adresse email + infos du fichier), et créer un sous dossier nommé avec un ID de fichier unique. Ainsi j'aurai mon arborescence : upload/1 ./2 ./3 ... + une base de données à coté

    J'ai un premier formulaire web qui permet l'upload d'un fichier (relativement simple pour l'instant :p , il manque pour l'instant un champs texte pour l'email utilisateur) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
    <body>
     
    <form action="upload.php" method="post"
    enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file" /> 
    <br />
    <input type="submit" name="submit" value="Submit" />
    </form>
     
    </body>
    </html>
    Ce même code appelle upload.php qui est censé faire :
    - récupérer les infos du fichier (taille, nom, ..) et les afficher
    - placer le tout dans une base de données (pour l'email je dois créer un champs texte supplémentaire dans le premier formulaire (index.html)
    - créer un sous répertoire dans le dossier d'upload : "/upload/$ID", et y copier le fichier 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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    <?php
     
     
    if ((($_FILES["file"]["type"] == "image/png")
    || ($_FILES["file"]["type"] == "image/jpeg")
    || ($_FILES["file"]["type"] == "image/pjpeg"))
    && ($_FILES["file"]["size"] < 200000000))
      {
      if ($_FILES["file"]["error"] > 0)
        {
        echo "Error: " . $_FILES["file"]["error"] . "<br />";
        }
      else
        {
        echo "Upload: " . $_FILES["file"]["name"] . "<br />";
        echo "Type: " . $_FILES["file"]["type"] . "<br />";
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
     
    if (file_exists("upload/" . $_FILES["file"]["name"]))
          {
          echo $_FILES["file"]["name"] . " already exists. ";
          }
        else
          {
          move_uploaded_file($_FILES["file"]["tmp_name"],
          "upload/" . $_FILES["file"]["name"]);
          echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
     
          }
        }
      }
    else
      {
      echo "Invalid file";
      }
     
     
     
    // Parametres mysql
     
    define('DB_SERVER', '127.0.0.1'); // serveur mysql
    define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
    define('DB_SERVER_PASSWORD', 'azerty'); // mot de passe
    define('DB_DATABASE', 'upload'); // nom de la base
     
     
    $msg_erreur = "les informations suivantes manquent :<br/>";
    $msg_ok = "Votre demande a bien été prise en compte.";
    $message = $msg_erreur;
     
     
     
    // Connexion au serveur mysql
    $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD)
    or die('Impossible de se connecter : ' . mysql_error());
    // sélection de la base de données
    mysql_select_db(DB_DATABASE, $connect);
     
     
    // Etablissement de la connexion au serveur MySQL
    $connexion = mysql_connect('127.0.0.1', 'root', 'azerty');
     
     
    $sql = "INSERT INTO UploadedFiles VALUES ('', '$ID', '$name', '$email', '$extension', '$size')";
    mysql_query($sql);
     
     
     
    mysql_close($connexion);
     
     
    ?>
    Enfin le code pour la création de la base de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE upload (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(30) NOT NULL,
    email VARCHAR(30) NOT NULL,
    extension VARCHAR(10) NOT NULL,
    size INT NOT NULL,
    PRIMARY KEY(id)
    );

    Voilà j'espère que vous pourrez m'aider à finaliser tout ça
    Merci beaucoup,

    olivier

  2. #2
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Si ta table s'appelle upload, pourquoi essaye tu d'insérer les données dans la table UploadedFiles

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Par défaut
    Citation Envoyé par amoiraud Voir le message
    Si ta table s'appelle upload, pourquoi essaye tu d'insérer les données dans la table UploadedFiles
    Petit problème lors de mon copier/coller de code
    Il faut juste changer le bon nom lors de la création de la table

  4. #4
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    OK, dans ce cas remplace ton mysql_query par celui la et dit nous si tu à une erreur SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query($sql) or die('Erreur SQL !<br>' . $sql . '<br>' . mysql_error());
    Pourrait tu également nous montrer le code qui instancie les variables que tu essaye d'insérer dans la requête ?

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 126
    Par défaut
    Citation Envoyé par olivier1209 Voir le message
    Associer un fichier uploadé à un utilisateur (celui qui upload le fichier) , stocké le tout dans une base de données, avec l'adresse email + infos du fichier), et créer un sous dossier nommé avec un ID de fichier unique. Ainsi j'aurai mon arborescence : upload/1 ./2 ./3 ... + une base de données à coté
    Pourquoi ne pas faire une arbo de ce type :
    upload/ID_USER/date/nom_fichier.jpeg

    ou ID_USER est un id unique contenu dans une table USER ?

Discussions similaires

  1. Upload fichier et insertion mysql
    Par nkordiko dans le forum jQuery
    Réponses: 2
    Dernier message: 03/01/2011, 23h38
  2. Upload fichier dans répertoire défini ?
    Par Le Mad dans le forum VB.NET
    Réponses: 4
    Dernier message: 08/06/2009, 14h35
  3. Réponses: 3
    Dernier message: 14/06/2007, 16h20
  4. Réponses: 10
    Dernier message: 15/01/2007, 09h17
  5. download et upload des fichier avec JSP & mysql
    Par MSM_007 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/07/2006, 15h20

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