Déplacer un fichier en php

Résolu/Fermé
Amelie0528 Messages postés 51 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 22 février 2016 - 3 févr. 2016 à 09:43
Amelie0528 Messages postés 51 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 22 février 2016 - 3 févr. 2016 à 12:00
Bonjour a tous,

je cherche une instruction en php qui peut déplacer un fichier vers un autre répertoire et supprime la source , j'ai essayé ce code mais il supprime pas la source :
rename("C:/Users/Master/Desktop/quotidien/CDRs/entreprise_".$compteur.".cdr", "C:/Users/Master/Desktop/quotidien/CDRtest/entreprise_".$compteur.".cdr");
         unlink('entreprise_".$compteur.".cdr');


comme php est une langage riche, je pense qu'il doit avoir une instruction qui fait ça:) je vous remercie d'avance

2 réponses

jordane45 Messages postés 38286 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 novembre 2024 4 698
3 févr. 2016 à 10:09
Bonjour,

1 - Merci de préciser le LANGAGE dans les balises de code pour que la coloration syntaxique s'applique sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


2 - Le code montré est bon. (il n'en existe pas d'autre à ma connaissance).
Par contre RENAME, il me semble, DEPLACE le fichier... et donc... il n'est pas nécéssaire de le supprimer ensuite.
Par contre... si un fichier (cible) porte déjà le même nom... il ne fait rien je crois.....

Au cas où, tu peux déjà commencer par essayer ceci :
//Initialisation des Variables
$REP_SOURCE = "C:/Users/Master/Desktop/quotidien/CDRs/";
$REP_CIBLE = "C:/Users/Master/Desktop/quotidien/CDRtest/";
$fileName = "entreprise_".$compteur.".cdr"; 

//Déplacement du fichier
if(rename($REP_SOURCE . $fileName , $REP_CIBLE . $fileName){
  //le fichier a été déplacé .. on peut supprimer la source
	unlink($REP_SOURCE . $fileName);
}else{
	 echo "Erreur : Le déplacement de : ". $REP_SOURCE . $fileName ."  vers  " $REP_CIBLE . $fileName . " a échoué ! ";
}



Si ça ne fonctionne toujours pas... tu peux essayer de passer par cette fonction :

<?php

//Initialisation des Variables
$REP_SOURCE = "C:/Users/Master/Desktop/quotidien/CDRs/";
$REP_CIBLE = "C:/Users/Master/Desktop/quotidien/CDRtest/";
$fileName = "entreprise_".$compteur.".cdr"; 

//Déplacement du fichier
if(rename_win($REP_SOURCE . $fileName ,$REP_CIBLE . $fileName)){
	echo "Déplacement réalisé avec succès !";
}else{
	 echo "Erreur : Le déplacement de : ". $REP_SOURCE . $fileName ."  vers  " $REP_CIBLE . $fileName . " a échoué ! ";
}


function rename_win($oldfile,$newfile) {
   if (!rename($oldfile,$newfile)) {
      if (copy ($oldfile,$newfile)) {
         unlink($oldfile);
         return TRUE;
      }
      return FALSE;
   }
   return TRUE;
}

0
Amelie0528 Messages postés 51 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 22 février 2016
3 févr. 2016 à 10:25
merci jordane pour le premier code il affiche aussi un warning par apport au 'rename '
et le déplacement du fichier a échoué:"Erreur : Le déplacement de : ". $REP_SOURCE . $fileName ." vers " $REP_CIBLE . $fileName . " a échoué !
je vais essayé d'utiliser votre fonction mtn
0
jordane45 Messages postés 38286 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 novembre 2024 4 698 > Amelie0528 Messages postés 51 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 22 février 2016
3 févr. 2016 à 10:30
Oups... il manque une parenthèse :
if(rename($REP_SOURCE . $fileName , $REP_CIBLE . $fileName)){
  //le fichier a été déplacé .. on peut supprimer la source
	unlink($REP_SOURCE . $fileName);
}else{
	 echo "Erreur : Le déplacement de : ". $REP_SOURCE . $fileName ."  vers  " $REP_CIBLE . $fileName . " a échoué ! ";
}
0
Amelie0528 Messages postés 51 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 22 février 2016
3 févr. 2016 à 10:29
pour la fonction il reconnais pas rename_win()
Fatal error: Call to undefined function rename_win()
0
jordane45 Messages postés 38286 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 novembre 2024 4 698 > Amelie0528 Messages postés 51 Date d'inscription dimanche 2 novembre 2014 Statut Membre Dernière intervention 22 février 2016
3 févr. 2016 à 10:31
Place la fonction AVANT son utilisation :
<?php
function rename_win($oldfile,$newfile) {
   if (!rename($oldfile,$newfile)) {
      if (copy ($oldfile,$newfile)) {
         unlink($oldfile);
         return TRUE;
      }
      return FALSE;
   }
   return TRUE;
}


//Initialisation des Variables
$REP_SOURCE = "C:/Users/Master/Desktop/quotidien/CDRs/";
$REP_CIBLE = "C:/Users/Master/Desktop/quotidien/CDRtest/";
$fileName = "entreprise_".$compteur.".cdr"; 

//Déplacement du fichier
if(rename_win($REP_SOURCE . $fileName ,$REP_CIBLE . $fileName)){
	echo "Déplacement réalisé avec succès !";
}else{
	 echo "Erreur : Le déplacement de : ". $REP_SOURCE . $fileName ."  vers  " $REP_CIBLE . $fileName . " a échoué ! ";
}



0