Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2448 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  pb renommer en php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb renommer en php

n°1127649
damcmoi
Posté le 22-06-2005 à 16:50:35  profilanswer
 

Bonjour, je suis débutant en php.
Je veux faire une page pour renommer un fichier, choisi à pertir d'un explorateur. Voici le code que j'utilise :
 

Code :
  1. <html>
  2. <head><title>Renommer un fichier</title></head>
  3. <body>
  4. <?
  5. if (isset($_FILES['fichier']['name']) && isset($_POST['nom']))
  6. {
  7. if(!rename($_FILES['fichier']['tmp_name'],$_POST['nom']))
  8. {
  9.  echo "Renommer impossible.";
  10. }
  11. }
  12. ?>
  13. <p>
  14. <h1>Renommer</h1>
  15. <hr>
  16. <div align=center><hr>
  17. <form enctype="multipart/form-data" action="index2.php" method="POST">
  18. <input type="file" name="fichier" size="90">
  19. <p>
  20. renommer en : <input type="text" size="15" maxlength="15" name="nom">
  21. <input type="submit" name="transfert" value="Renommer">
  22. </form>
  23. </body>
  24. </html>


 
Le truc c'est qu'à mon avis c'est surtout pas comme ça qu'il faut faire car j'ai adapté un script pour uploader un fichier sur le serveur. Et puis le résultat est le suivant : fichier non renommé mais recopié ds la racine web, et bug à l'ouverture du fichier. Obligé de fermer l'explorateur au CTlAltSupr...
merci à vous.

mood
Publicité
Posté le 22-06-2005 à 16:50:35  profilanswer
 

n°1127653
FlorentG
Posté le 22-06-2005 à 16:51:47  profilanswer
 

Vire le "enctype="multipart/form-data", ça évitera que le fichier ne soit uploadé, ce qui est complètement inutile si c'est juste un renommage. Tu retrouvera alors le nom de ton fichier dans $_POST['fichier']


Message édité par FlorentG le 22-06-2005 à 16:51:59
n°1127667
damcmoi
Posté le 22-06-2005 à 16:59:03  profilanswer
 

merci pour ta rapidité.
J'ai fait ce que tu m'as dis. La il ne renomme plus rien du tout. Il ne touche pas au fichier source, et il me met le message d'erreur.  :??:

n°1127669
FlorentG
Posté le 22-06-2005 à 17:00:09  profilanswer
 

C'est normal, le border $_FILES ne fonctionne plus. Faut récupérer le nom du fichier via $_POST

n°1127671
damcmoi
Posté le 22-06-2005 à 17:00:52  profilanswer
 

Avec le script suivant :  
 

Code :
  1. <html>
  2. <head><title>Renommer un fichier</title></head>
  3. <body>
  4. <?
  5. if (isset($_POST['fichier']) && isset($_POST['nom']))
  6. {
  7. if(!rename($_POST['fichier'],$_POST['nom']))
  8. {
  9.  echo "Renommer impossible.";
  10. }
  11. }
  12. ?>
  13. <p>
  14. <h1>Renommer</h1>
  15. <hr>
  16. <div align=center><hr>
  17. <form action="index2.php" method="POST">
  18. <input type="file" name="fichier" size="90">
  19. <p>
  20. renommer en : <input type="text" size="15" maxlength="15" name="nom">
  21. <input type="submit" name="transfert" value="Renommer">
  22. </form>
  23. </body>
  24. </html>

n°1127673
soju
One shot !
Posté le 22-06-2005 à 17:01:13  profilanswer
 

et la touche F2 t'as essayé ?  :whistle:

n°1127676
damcmoi
Posté le 22-06-2005 à 17:02:06  profilanswer
 

On se croise....
Donc je ça marche pas avec le $_POST['fichier']...

n°1127677
FlorentG
Posté le 22-06-2005 à 17:02:08  profilanswer
 

Suivant les navigateur, $_POST['fichier'] contiendra soit le chemin entier, soit juste le nom... Ca dépend :(

n°1127679
damcmoi
Posté le 22-06-2005 à 17:02:24  profilanswer
 

oui... :??:

n°1127682
damcmoi
Posté le 22-06-2005 à 17:03:31  profilanswer
 

je suis sous mozilla sous win...

mood
Publicité
Posté le 22-06-2005 à 17:03:31  profilanswer
 

n°1127725
damcmoi
Posté le 22-06-2005 à 18:08:10  profilanswer
 

Bon bah alors ça marche si je spécifie le path ds le rename ds le précédent script:  
 

Code :
  1. ...
  2. if(!rename("D:\\".$_POST['fichier'],"D:\\".$_POST['nom']))
  3. ...


 
Mais je suis hyper loin de ce que je voulais faire....
Je veux renommer à partir de n'importe quel endroit du path...
exemple : en fait au premier input faudrait prendre $path/toto.txt
                  au deuxième input je prends titi.txt
et je renomme en $path/titi.txt...
comment prendre le $path à partir de la fenêtre d'explorateur de fichier?
 
Vous me dites si je suis pas clair  :D lol

n°1127849
FlorentG
Posté le 22-06-2005 à 20:42:06  profilanswer
 

Y'a aucun moyen :( Ca dépend des navigateurs, comme dit... Sauf si t'es en environnement maîtrisé genre Intranet, pouet

n°1127938
damcmoi
Posté le 22-06-2005 à 21:30:04  profilanswer
 

Merci pour votre bonne volonté ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  pb renommer en php

 

Sujets relatifs
[batch] modifier automatiquement l'extension de fichiers qcqRenommer un rep avec la date du jour
renommer automatiquement une case dans un fichier ExcelCreer et renommer une nouvelle feuille de calcul
datagrid : renommer le nom d'une colonnerenommer un fichier
Renommer un fichier Excel sous VBA AccessRenommer un fichier dont on ne connait pas le nom exact
aide sur un script FTP pour recuperer des fichiers et les renommerChangement d'utilisateur : Renommer tous les cookies !
Plus de sujets relatifs à : pb renommer en php


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)