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