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 :

Faire marcher la fonction rename


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut Faire marcher la fonction rename
    Bonjour,

    mon but est de déplacer un fichier. Je sais qu'on utilise pour ça la fonction rename ; j'ai fait un essai tout simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $toto="toto";
    $titi="titi";
    rename($toto,$titi);
    echo "toto:".$toto."<br>";
    ?>
    Mais ça me donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Warning: rename(toto,titi) [function.rename]: No such file or directory in /mnt/163/sda/2/6/laurentschmitt18/rename/test.php on line 13
    toto:toto
    Quel est le bug ?

  2. #2
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $toto="toto";
    $titi="titi";
    rename($toto,$titi);
    Normal, et comme le nom de la fonction l'indique, c'est pour renommer un fichier. toto ou titi, c'est pas un nom de fichier, il n'y a même pas un chemin.
    Comment veux qu'il le trouve ?


    Puis faut jeter un oeil dans la doc quand on ne sait pas trop se qu'attend une fonction.
    http://php.net/manual/fr/function.rename.php
    bool rename ( string $oldname , string $newname [, resource $context ] )
    Et il y a très souvent un exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
    ?>

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    OK, mea culpa, comme j'avais des soucis, j'ai voulu faire un essai ultra simple, et je me suis planté, mais maintenant, j'ai réussi à renommer un fichier, par contre, toujours pas à en déplacer un : je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $str1='xxx'; // chaîne de caractères dont je suis sûr (et le fichier existe bien)
    $str2='yyy'; // et le répertoire visé existe
    if(!rename($str1, $str2)){
        echo "Impossible de renommer.";
    }
    Mais le fichier reste à sa place...

  4. #4
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Bonjour,
    Peut-on voir la forme du xxx et du yyy ?
    Fred

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xxx='http://www.kitskats.com/upload1/script/'.$file
    et yyy='http://www.kitskats.com/upload1/image/'.$file
    avec sachant que $file est transmis au préalable par URL ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="continuer.php?file='.$namefile1.'">Continuer</a>';

  6. #6
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Essaye avec le chemin des fichiers et non l'URL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $str1='./upload1/script/'.$file;
    $str2='./upload1/image/'.$file;
    if(!rename($str1, $str2)){
        echo "Impossible de renommer.";
    }
    Fred

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    J'ai fait l'essai mais ce n'est pas mieux.

  8. #8
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Où est placé ton script ?
    S'il est dans le répertoire upload1, le code est plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $str1='./script/'.$file;
    $str2='./image/'.$file;
    if(!rename($str1, $str2)){
        echo "Impossible de renommer.";
    }
    Fred

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Au fait, je l'ai fait marcher tout-à-l'heure, en remplaçant le . par 2 . : en effet, le code est ds un répertoire à la même hauteur que "upload1". Mais sans ta suggestion, je n'aurais pas trouvé...Donc, merci.

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

Discussions similaires

  1. Probleme avec la fonction rename()
    Par TheZenZen dans le forum C
    Réponses: 6
    Dernier message: 08/10/2005, 15h59
  2. Réponses: 6
    Dernier message: 04/10/2005, 17h37
  3. [MySQL] Je cherche à faire fonctionner la fonction ADDTIME sur la version 4.0.13
    Par SURF52 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/09/2005, 16h17
  4. Impossible de faire marcher SESSIONS_PER_USER
    Par jack554 dans le forum Oracle
    Réponses: 7
    Dernier message: 05/01/2005, 11h50
  5. [Debutant(e)][Tomcat]Comment faire marcher Tomcat?
    Par chuck norris dans le forum Tomcat et TomEE
    Réponses: 11
    Dernier message: 24/11/2004, 16h12

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