IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

question fonction rename


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Points : 70
    Points
    70
    Par défaut question fonction rename
    Bonjour,
    J'ai parcouru différents exemples pour renommer un fichier en php. Il est bien évident que je dois utiliser la fonction rename. J'ai cependant une petite question. Si je reçcois de l'utilisateur une url complète exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Documents and Settings\John\Bureau\John\test.txt
    et un nouveau nom de fichier : test.doc.

    Comment puis-je renommer le fichier test.txt en test.doc?
    Car pour le moment je n'arrive à utiliser rename mais seulement si mon fichier concerné se situe dans le même répertoire que mon fichier php (un peu comme dans les exemples trouvés).

    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Points : 81
    Points
    81
    Par défaut
    Il faudrait tester si il y a des slashes ou backslashes dans le paramètre reçu.

    Si il y en a il faut chercher à récuperer le chemin vers le fichier en découpant la chaine comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $path = 'C:\\Documents and Settings\\John\\Bureau\\John\\';
    $filename = 'test.txt';
    à partir de là il ne reste plus qu'à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     rename($path . $filename, $path . $le_nouveau_nom);
    Je vous invite à regarder la documentation de ces quelques fonctions qui peuvent vous aider :

    - substr() pour la découpe d'une chaine
    - strlen() pour retourner la longueur d'une chaine
    - strrchr() pour trouver la dernière occurence d'un caractère dans une chaine

    Bon par contre il faut bien sur que le fichier se trouve sur la même machine qu e le script, on ne peut pas renomer un fichier sur une machine distante de cette façon

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Bonsoir,
    utilisez la fonction dirname().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     
      $fichier = 'C:\Documents and Settings\John\Bureau\John\test.txt';
      $chemin = dirname($fichier);
     
      rename($fichier, $chemin.'\\'.nouveau_nom.ext');
    
    ?>
    Cordialement,
    DaRiaN.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Points : 81
    Points
    81
    Par défaut
    En effet je l'avais complètement oublié cette fonction, honte à moi
    Mais c'est nettement moins amusant

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Points : 70
    Points
    70
    Par défaut
    j'ai opté poru le dirname même si pour anthony c'est moins amusant ^^
    merci de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction rename php -> Permission Denied
    Par Alain15 dans le forum Langage
    Réponses: 6
    Dernier message: 01/08/2006, 10h47
  2. question fonction split
    Par fessebleu dans le forum Langage
    Réponses: 2
    Dernier message: 28/05/2006, 02h33
  3. [Excel] question fonction !!!
    Par Fealendril dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 25/01/2006, 19h21
  4. Probleme avec la fonction rename()
    Par TheZenZen dans le forum C
    Réponses: 6
    Dernier message: 08/10/2005, 15h59
  5. Réponses: 6
    Dernier message: 04/10/2005, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo