bonjour à tous. voila j'ai réussi à faire un script qui upload via un formulaire une photo, crée une miniature et enregistre les chemins vers la photo et la miniature dans une base de donnée mais voila je voudrais uploader plusieurs photos à la fois en ajoutant des champs à mon formulaire d'upload et je sais vraiment pas comment m'y prendre. je sais pas si je dois copier le code plusieurs fois de suite pour chaque photo à uploader ou bien je dois modifier le code et ajouter un truc. j'ai fais plusieurs recherche sur google et malheureusement j'ai pas trouvé. si vous pouvez m'aider ou me mettre sur la voie ce serait vraiment cool. je joins le code php qui traite le formulaire d'enregistrement dans la base de donnée et d'upload de la photo ainsi que la création de la miniature si ça peut aider.
merci d'avance

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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
  <?php
// Parametres mysql à remplacer par les vôtres
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', ''); // mot de passe
define('DB_DATABASE', 'partners'); // nom de la base
// 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);
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis:
<br/><br/>";
$msg_ok = "Votre annonce a bien été ajoutée.<br/><br/>";
$message = $msg_erreur;
// vérification des champs 
if (empty($_POST['ville'])) 
  $message .= "La ville<br/>";
if (empty($_POST['quartier'])) 
  $message .= "Le quartier<br/>";
if (empty($_POST['surface'])) 
  $message .= "La Surface<br/>";
if (empty($_POST['prix'])) 
  $message .= "Le prix<br/>";
 
$pic=($_FILES['photo_1']['name']); 
$dossier = 'photos/'; 
$fichier = basename($_FILES['photo_1']['name']); 
$taille_maxi = 5000000; 
$taille = filesize($_FILES['photo_1']['tmp_name']); 
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG'); 
$extension = strrchr($_FILES['photo_1']['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); 
 
// Création d'une image minature  - Redimensionner l'image
	$taille_image = getimagesize($_FILES['photo_1']['tmp_name']); // getimagesize, récupère la hauteur et la largeur d'une image, sous forme de tableau
	$image_choisie =  imagecreatefromjpeg($_FILES['photo_1']['tmp_name']); // Call_user_fun récupere l'identifiant de l'image, imagecreateform sauvegarde une copie
	$nouvelle_largeur = 176; // Nouvelle largeur de mon image
 
	$reduction = ( ($nouvelle_largeur * 100) / $taille_image[0] ); // Calule la ratio qui correspond au quotient de l'ancienne largeur par la nouvelle. C'est un %tage, on multiplie donc par 100
	$nouvelle_hauteur = ($taille_image[1] * $reduction/100 ); // // Calule la nouvelle hauteur en application la ratio à l'ancienne hauteur. On oublie pas de diviser par 100 sinon notre dimension, reste en %
 
//Création de la miniature
	$nouvelle_image = imagecreatetruecolor($nouvelle_largeur , $nouvelle_hauteur); // C
	imagecopyresampled($nouvelle_image, $image_choisie, 0 , 0 , 0 , 0 , $nouvelle_largeur, $nouvelle_hauteur, $taille_image['0'], $taille_image['1']);
	imagedestroy($image_choisie); // Supprimer notre image de sauvegarde
 
	imagejpeg($nouvelle_image, 'photos/small/' . $fichier , 176);
    imagejpeg($image_choisie , 'photos/' . $fichier . 'FullImage' , 176);
 
if(move_uploaded_file($_FILES['photo_1']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné... 
{ 
echo '<br/><br/>photo ajouté avec succès !'; 
} 
else //Sinon (la fonction renvoie FALSE). 
{ 
echo '<br/><br/>Echec de l\'upload !'; 
} 
} 
else 
{ 
echo $erreur; 
} 
 
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
 
  echo $message;
 
// sinon c'est ok 
} else {
 
  foreach($_POST as $index => $valeur) {
    $$index = mysql_real_escape_string(trim($valeur));
  }
 
  $sql = "INSERT INTO annonce VALUES ('', '".$type_bien."', '".$type_ope."', 
    '".$ville."', '".$quartier."', '".$surface."', '".$nombre_chambre."',
    '".$prix."', '".$pic."', '".$fichier."')";
  $res = mysql_query($sql);
 
  if ($res) {
    echo $msg_ok;
  } else {
    echo mysql_error();
  }
 
}
?>