Bonjour,
j'ai mis en place un formulaire d'édition avec upload à gérer. vu qu'il s'agit d'édition, certains fichiers existe déjà sur le serveur.
je souhaiterai renommer les anciens fichiers au cas où on uploaderai des nouveau sur le serveur.
pour ce qui est du renommage pas de soucis j'utilise la fonctionet la
Code : Sélectionner tout - Visualiser dans une fenêtre à part renamepour mettre en place un système de versionnage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part date
mon soucis est dans le cas où le nouveau fichier uploadé a le même nom que celui présent sur le serveur.
dans ce cas il écrase l'ancien.
voici un bout de mon code :
jexplique : en fait si l'un des fichiers est envoyé sur le serveur j'affiche une alerte avec le nom des fichiers uploadé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 $ValidationSON = (move_uploaded_file($_FILES['fichierSON']['tmp_name'],$rep.$_FILES['fichierSON']['name'])); $ValidationTRS = (move_uploaded_file($_FILES['fichierTRS']['tmp_name'],$rep.$_FILES['fichierTRS']['name'])); $ValidationCONVENTION =(move_uploaded_file($_FILES['convention_transcription']['tmp_name'],$rep.$_FILES['convention_transcription']['name'])); $ValidationANNEXE =(move_uploaded_file($_FILES['document_annexe']['tmp_name'],$rep.$_FILES['document_annexe']['name'])); //si on choisit d'uploader un fichier alors on créée une alerte avec le nom des fichiers if($ValidationSON | $ValidationTRS | $ValidationCONVENTION |$ValidationANNEXE ){ //message de confirmation JS, comme quoi le fichier est bien enregistré sur le serveur echo "<script type=\"text/javascript\">alert(\"Vos fichiers : \\n- ".$_FILES['fichierSON']['name']."\\n- ".$_FILES['fichierTRS']['name']."\\n- ".$_FILES['convention_transcription']['name']."\\n ont bien été enregistré !\");</script>"; //si le fichier est bien uploadé alors on renomme l'ancien s'il existe if($ValidationSON){ rename("../Corpus/$NomFichierSource/$Statut_corpus/$SoundName_bak", "../Corpus/$NomFichierSource/$Statut_corpus/$today-$SoundName_bak" ); } if($ValidationTRS){ rename("../Corpus/$NomFichierSource/$Statut_corpus/$TrsName_bak", "../Corpus/$NomFichierSource/$Statut_corpus/$today-$TrsName_bak" ); } if($ValidationCONVENTION){ //si ce nest pas vide if(!empty($convention_transcription_bak)){ rename("../Corpus/$NomFichierSource/$Statut_corpus/$convention_transcription_bak", "../Corpus/$NomFichierSource/$Statut_corpus/$today-$convention_transcription_bak" ); } } if($ValidationANNEXE){ //si ce nest pas vide if(!empty($AnnexeName_bak)){ rename("../Corpus/$NomFichierSource/$Statut_corpus/$AnnexeName_bak", "../Corpus/$NomFichierSource/$Statut_corpus/$today-$AnnexeName_bak" ); } } }
dans le meme temps si un des types de fichiers est bien envoyé alors on renomme l'ancien grace à une variable de type "_bak" qui permet de récupérer les anciens noms de fichiers.
je veux être sur qu'il y ait eu upload avant de renommer un éventuel fichier; voila pourquoi je bloque.
merci







Répondre avec citation




Partager