Bonjour.
Existe-t-il un moyen de renommer automatiquement un fichier lors de son enregistrement dans un formulaire?
Si oui comment faut-il s'y prendre?
Merci d'avance.
Bonjour.
Existe-t-il un moyen de renommer automatiquement un fichier lors de son enregistrement dans un formulaire?
Si oui comment faut-il s'y prendre?
Merci d'avance.
au moment où tu utilises move_uploaded_file,, le second paramètre te permet de le renommer
Ca marche... à moitié
Si par exemple je veux renommer un fichier "salle.jpg" en "fd_menu.jpg" ça me le renomme en "salle.jpgfdmenu.jpg"
Voici mon 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 f ( $_FILES["barre"]["size"] != "0" ) { $savefile=$dossier.$_FILES["barre"] ["name"]; $barrevu = $dossiervu.$_FILES["barre"]["name"]; $temp =$_FILES["barre"]["tmp_name"]; $savefile .="fd_menu.jpg"; if ( move_uploaded_file ( $temp, $savefile ) ) { $barre = $barrevu; } } else { $fond = ""; }
Logique puisque tu concatènes son nom.
Utilise que la dernière ligne pour avoir que "fd_menu.jpg". Par contre, tous les fichiers qui passeront par ce formulaire auront ce nom !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $savefile = $dossier.$_FILES["barre"] ["name"]; $savefile .= "fd_menu.jpg";
Code : Sélectionner tout - Visualiser dans une fenêtre à part $savefile = "fd_menu.jpg";
Je viens de tester en me mettant que la dernière ligne, là le fichier ne s'est même pas enregistré ce qui est normal à mon avis vu que la variable $savefile n'a pas été déclarée.
En utilisant ça tu n'as rien ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 if ( $_FILES["barre"]["size"] != "0" ) { $barrevu = $dossiervu.$_FILES["barre"]["name"]; $temp =$_FILES["barre"]["tmp_name"]; $savefile = "fd_menu.jpg"; if ( move_uploaded_file ( $temp, $savefile ) ) { $barre = $barrevu; } } else { $fond = ""; }
Enfin si j'ai quelque chose, les fichier dont je ne veux pas modifier le nom sont toujours enregistrés mais ceux dont je veux modifier le nom ne le sont pas.
Avec ce code si tu enregistres plusieurs fichiers à la suite ils seront tous écrasés car portant le même nom "fd_menu.jpg"
Bon ok je vous donne une partie du reste de mon code, je ne l'avais pas mis pour ne pas vous embrouiller:
Sur tous les fichiers que j'enregistre, seul 2 d'entre eux sont sensés être renommés.
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 $Fnm = "../var.php"; $dossier = "../img/"; $dossiervu = "./img/"; for ( $i = 0; $i < 19; $i ++ ) { if ( $_FILES["image"]["size"][$i] != "0" ) { $savefile=$dossier.$_FILES["image"]["name"][$i]; $imagevu = $dossiervu.$_FILES["image"]["name"][$i]; $temp =$_FILES["image"]["tmp_name"][$i]; if ( move_uploaded_file ( $temp, $savefile ) ) { $image[$i] = $imagevu; } } else { $image[$i] = ""; } } if ( $_FILES["fond"]["size"] != "0" ) { $savefile=$dossier.$_FILES["fond"] ["name"]; $fondvu = $dossiervu.$_FILES["fond"]["name"]; $temp =$_FILES["fond"]["tmp_name"]; $savefile .="fond.jpg"; if ( move_uploaded_file ( $temp, $savefile ) ) { $fond = $fondvu; } } else { $fond = ""; } if ( $_FILES["barre"]["size"] != "0" ) { $savefile=$dossier.$_FILES["barre"] ["name"]; $barrevu = $dossiervu.$_FILES["barre"]["name"]; $temp =$_FILES["barre"]["tmp_name"]; $savefile .="fd_menu.jpg"; if ( move_uploaded_file ( $temp, $savefile ) ) { $barre = $barrevu; } } else { $fond = ""; }
Donc tu veux renommer la barre et le fond ...
Je reste sur la même idée et propose ce code :
J'ai modifier les variables $fond et $barre aussi ...
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 $Fnm = "../var.php"; $dossier = "../img/"; $dossiervu = "./img/"; for ( $i = 0; $i < 19; $i ++ ) { if ( $_FILES["image"]["size"][$i] != "0" ) { $temp = $_FILES["image"]["tmp_name"][$i]; $savefile = $dossier . $_FILES["image"]["name"][$i]; if ( move_uploaded_file ( $temp, $savefile ) ) { $image[$i] = $dossiervu.$_FILES["image"]["name"][$i]; } } else { $image[$i] = ""; } } if ( $_FILES["fond"]["size"] != "0" ) { $temp = $_FILES["fond"]["tmp_name"]; $savefile = $dossier . "fond.jpg"; if ( move_uploaded_file ( $temp, $savefile ) ) { $fond = $dossiervu . "fond.jpg"; } } else { $fond = ""; } if ( $_FILES["barre"]["size"] != "0" ) { $temp = $_FILES["barre"]["tmp_name"]; $savefile = $dossier . "fd_menu.jpg"; if ( move_uploaded_file ( $temp, $savefile ) ) { $barre = $dossiervu . "fd_menu.jpg"; } } else { $fond = ""; }
Ha cette fois ci ça marche .
Merci beaucoup.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager