Déplacer un fichier en php

Résolu
Amelie0528 Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -  
Amelie0528 Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
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   Statut Membre Dernière intervention  
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753 > Amelie0528 Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
pour la fonction il reconnais pas rename_win()
Fatal error: Call to undefined function rename_win()
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753 > Amelie0528 Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
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