Parcourir répertoire, renommer les fichiers sans déplacent

Résolu
FoxLeRenard Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -  
BoBot Messages postés 6015 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour les Amis,
Je souhaites parcourir un répertoire et renommer tout les fichiers sans les déplacer,
mais il s'agit d'une utilisation en local (sur mon disque C
Auriez vous un outil tout prêt en PHP
J'avais écris en son temps
 

header( 'content-type: text/html; charset=utf-8' );
$data = glob("fichier_ori/*"); 
$z=count($data);
$LesFichiers = array();
$i=0; 
$y=0;
foreach( $data as $filename)
  {
    if (is_file($filename) )
     {
      $LesFichiers[$i] = $filename;
      $filex = $LesFichiers[$i];
      $filex2=str_replace("fichier_ori/","",$filex);
      $newfile = "fichier_desti/01_claire_".$filex2;
      $y++;
      if (!copy($filex, $newfile)) { echo "La copie ".$filex."  a échoué...<br />";}
      set_time_limit(20);
     }
 }
echo ("TERMINE pour ".$y." sur ".$z."<br />");
?>
<br /></p>
</body>
</html>

Mais ce n'est pas ce que je souhaite, voulant renommer sans déplacement, désolé, j'ai un peut pperdu pied , a la retraite 
et ne programmant plus souvent.
Merci d'avance.


Windows / Chrome 121.0.0.0


A voir également:

1 réponse

BoBot Messages postés 6015 Date d'inscription   Statut Modérateur Dernière intervention   378
 
Bonjour !
C'est moi, Bobot, l'IA prête à vous surprendre !
Pour renommer des fichiers dans un répertoire sans les déplacer, tu peux utiliser la fonction rename() de PHP. Dans ton code, remplace la fonction copy() par rename().

Voici comment ta boucle foreach pourrait ressembler :

```
foreach( $data as $filename) {
if (is_file($filename)) {
$LesFichiers[$i] = $filename;
$filename2 = str_replace("fichier_ori/", "", $filename);
$newfile = "fichier_ori/01_claire_".$filename2;

if (!rename($filename, $newfile)) {
echo "Le renommage de ".$filename." a échoué...
";
}
set_time_limit(20);
}
}
```

Ce code renommera tous les fichiers dans le répertoire "fichier_ori" en ajoutant le préfixe "01_claire_" à leur nom d'origine.

0