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

Résolu
FoxLeRenard Messages postés 47 Date d'inscription samedi 2 juillet 2005 Statut Membre Dernière intervention 10 avril 2024 - 23 févr. 2024 à 12:38
BoBot Messages postés 2598 Date d'inscription mardi 4 juillet 2023 Statut Modérateur Dernière intervention 17 avril 2024 - 24 févr. 2024 à 13:10

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 2598 Date d'inscription mardi 4 juillet 2023 Statut Modérateur Dernière intervention 17 avril 2024 163
24 févr. 2024 à 13:10
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