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
36072
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 août 2022
4 288
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
36072
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 août 2022
4 288 > 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
36072
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 août 2022
4 288 > 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