Bonjour,
Je veux uploader plusieurs fichiers (images) en même temps, avec inscription des noms des fichiers (c'est ok), des liens des fichiers (c'est ok), des extensions (c'est nok), des titres et des textes (c'est nok) dans la base. Le script fonctionne, sauf que je n'arrive pas à récupérer individuellement l'extension des fichiers, et je n'arrive pas non plus à récupérer le texte et le titre de chaque fichier.
La récupération des fichiers est ok.
Voici pour la saisie des fichiers à uploader :
Et voici pour l'insertion des éléments :
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 <FORM ACTION="add_alb_photos1.php" METHOD="POST" ENCTYPE="multipart/form-data" value="envoyer" name="soumettre"> <INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE VALUE=20000000> <input type="hidden" name="posted"> Titre de l'image 1 :<br> <textarea cols="70" name="titre" id="titre" rows="2" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" ></textarea><br> Texte image 1:<br> <textarea cols="70" name="texte" id="texte" rows="2" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" ></textarea><br> Image 1 : <br><INPUT TYPE=FILE NAME="fichier[]" size="76"><br> Titre de l' image 2 :<br> <textarea cols="70" name="titre" id="titre" rows="2" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" ></textarea><br> Texte image 2:<br> <textarea cols="70" name="texte" id="texte" rows="2" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" ></textarea><br> Image 2 : <br><INPUT TYPE=FILE NAME="fichier[]" size="76"><p> Titre l'image 3 :<br> <textarea cols="70" name="titre" id="titre" rows="2" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" ></textarea><br> Texte image 3:<br> <textarea cols="70" name="texte" id="texte" rows="2" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" ></textarea><br> Image 3 : <br><INPUT TYPE=FILE NAME="fichier[]" size="76"><p> <INPUT TYPE=SUBMIT value="Téléchargement"> </FORM>
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 $titre = $_POST['titre']; $texte = $_POST['texte']; $fichier = $_POST['fichier']; if (isset($_FILES['fichier'])) { //$_FILES existe foreach ($_FILES['fichier']['name'] as $key => $value) { $fichier=$value;//nom reel de l'image $dossier = 'upload/'; $extensions = array('.gif', '.jpg', '.jpeg', '.bmp', '.png'); $extension = strrchr($_FILES['fichier']['name'], '.'); $fic = explode(".", $fichier); //--------récupération du nom du fichier sans extension if (is_uploaded_file($tmp)) //--------permet de vérifier si le fichier a été uplodé via http { //vérification du type de l'img, son poids et sa taille $type_file = $_FILES['fichier']['type']; $allowedExt = array('jpg', 'jpeg', 'bmp', 'gif', 'png'); if (in_array(strtolower($type_file), $allowedExt)) exit('Le fichier n\'est pas une image'); if (move_uploaded_file($tmp,'upload/'.$fichier)) { $sql = "INSERT INTO photos(id, nom, extension, lien, titre, texte) VALUES('$id', '$fic[0]', '$extension', '$dossier$fichier', '$titre', '$texte')"; mysql_query($sql) or die('Erreur SQL !'.$req_fich.mysql_error()); } } else { //l'image ne peut être déplacée, on supprime le fichier temporaire @ unlink ($tmp); echo 'L\'image n\'a pu être déplacée !'; } } }
En fait, il faudrait arriver à inclure les titres et textes dans la boucle "foreach" ! Mais est-ce possible ????
Merci pour votre aide ...
Partager