Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/11/2006, 11h15   #1
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 155
Points : 32
Points : 32
Par défaut renommer automatiquement un fichier

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.
__________________
Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

Je remercie également tous ceux qui me répondent sur ce forum

Merci
shnouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 11h17   #2
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
au moment où tu utilises move_uploaded_file,, le second paramètre te permet de le renommer
__________________
Globalement inoffensif
Merci de respecter les règles du forum.
Aucune question technique par MP !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 11h28   #3
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 155
Points : 32
Points : 32
ok merci je vais essayer.
__________________
Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

Je remercie également tous ceux qui me répondent sur ce forum

Merci
shnouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 12h20   #4
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 155
Points : 32
Points : 32
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 :
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 = "";
		}
__________________
Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

Je remercie également tous ceux qui me répondent sur ce forum

Merci
shnouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 12h31   #5
Membre habitué
 
Avatar de Cyberbob002
 
Inscription : mai 2003
Messages : 140
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 140
Points : 130
Points : 130
Logique puisque tu concatènes son nom.

Code :
1
2
3
 
$savefile  = $dossier.$_FILES["barre"] ["name"];
$savefile .= "fd_menu.jpg";
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 :
$savefile = "fd_menu.jpg";
Cyberbob002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 12h36   #6
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 155
Points : 32
Points : 32
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.
__________________
Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

Je remercie également tous ceux qui me répondent sur ce forum

Merci
shnouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 12h39   #7
Membre habitué
 
Avatar de Cyberbob002
 
Inscription : mai 2003
Messages : 140
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 140
Points : 130
Points : 130
En utilisant ça tu n'as rien ??

Code :
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 = "";
		}
Cyberbob002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 12h44   #8
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 155
Points : 32
Points : 32
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.
__________________
Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

Je remercie également tous ceux qui me répondent sur ce forum

Merci
shnouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 14h16   #9
Membre émérite
 
Avatar de guitou12
 
Guillaume
Inscription : juillet 2006
Messages : 813
Détails du profil
Informations personnelles :
Nom : Guillaume
Âge : 29

Informations forums :
Inscription : juillet 2006
Messages : 813
Points : 905
Points : 905
Envoyer un message via MSN à guitou12
Avec ce code si tu enregistres plusieurs fichiers à la suite ils seront tous écrasés car portant le même nom "fd_menu.jpg"
__________________
Le . est la base de toute bonne concaténation, marre de voir des
echo "Mavar1 = $toto et Mavar2 = $titi";
ou pire echo 'Mavar1 = ',$toto,' et Mavar2 = ',$titi;
pratiquez plutôt le echo 'Mavar1 = '.$toto.' et Mavar2 = '.$titi;
guitou12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 14h22   #10
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 155
Points : 32
Points : 32
Bon ok je vous donne une partie du reste de mon code, je ne l'avais pas mis pour ne pas vous embrouiller:

Code :
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 = "";
		}
Sur tous les fichiers que j'enregistre, seul 2 d'entre eux sont sensés être renommés.
__________________
Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

Je remercie également tous ceux qui me répondent sur ce forum

Merci
shnouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 14h34   #11
Membre habitué
 
Avatar de Cyberbob002
 
Inscription : mai 2003
Messages : 140
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 140
Points : 130
Points : 130
Donc tu veux renommer la barre et le fond ...

Je reste sur la même idée et propose ce code :
Code :
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 = "";
}
J'ai modifier les variables $fond et $barre aussi ...
Cyberbob002 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 14h51   #12
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 155
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 155
Points : 32
Points : 32
Ha cette fois ci ça marche .

Merci beaucoup.
__________________
Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

Je remercie également tous ceux qui me répondent sur ce forum

Merci
shnouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h19.


 
 
 
 
Partenaires

Hébergement Web