Remplacez les caractères de votre choix dans les noms de fichiers, d'un répertoire et sous répertoire.
Par exemple certains logiciels ne comprennent pas d'un espace puisse faire partie d'un nom de fichier.
Vous pourrez par exemple remplacer tous les espaces des fichiers par des points.
Vous sélectionnez un répertoire, un type d'extension de fichier, les caractères que vous voulez remplacer, et les caractères qui devront être remplacés.
Le script modifiera alors tout les noms de fichiers se trouvant dans le répertoire et ses sous-répertoire.
Source / Exemple :
<?
/*--------------------------------------------*/
// Extention des fichiers a qui ont doit remplacer des caractères.
// Si vous souhaitez remplacer des caractère sur toutes les sortes de fichiers utiliser ceci :
// $GLOBALS['ext'] = 'all';
// Les minuscules sont importantes
$ext = '.mp3';
// Caractère(s) qui doivent être remplacés par $carac_new.
$carac_old = ' ';
// Caractère(s) qui remplacera carac_old.
$carac_new = '.';
// Répertoire dans lequel on doit effectuer les modifications (Attention, cela affectera ausi les sous répertoires).
$rep = 'd:/test/';
/*--------------------------------------------*/
function delPoint($chemin)
{
$dossier = opendir($chemin);
while ($fichier = readdir($dossier)) // On lit tout les fichiers/dossiers du répertoire.
{
if ($fichier != "." && $fichier != "..") // Si le nom du fichier ne correspond pas au répertoire actuel ni au repertoire parent.
{
// On remplace les $GLOBALS['carac_old'] du fichier par des $GLOBALS['carac_new'].
$fichierPoint = ereg_replace($GLOBALS['carac_old'],$GLOBALS['carac_new'],$fichier);
// var avec le chemin complet du fichier.
$nomComplet = $chemin."/".$fichier;
// var avec le chemin complet du fichier a qui ont a mis des $GLOBALS['carac_new'].
$nomCompletPoint = $chemin."/".$fichierPoint;
if (ereg($GLOBALS['carac_old'],$fichier) && !is_dir($nomComplet) && $GLOBALS['ext'] == 'all') // Si il y as $GLOGALS['carac_old'] dans le fichier, que ce ne soit pas un répertoire et qu'on puisse modifier n'importe quel type de fichiers.
{
// On renome le fichier avec ses nouveaux caractères.
rename($nomComplet, $nomCompletPoint);
// On affiche tout le fichier concerné par ce changement
echo '<font color=red>'.$fichier.'</font> renommé en <font color=blue>'.$fichierPoint.'</font><br>';
}
elseif (ereg($GLOBALS['carac_old'],$fichier) && !is_dir($nomComplet) && substr($fichier,strrpos($fichier,".")) == $GLOBALS['ext']) // Sinon, si il y as $GLOBALS['carac_old'] dans le fichier, que ce ne soit pas un répertoire et si le nom du fichier contient l'extention $GLOBALS['ext'].
{
// On renome le fichier avec ses nouveaux caractères.
rename($nomComplet, $nomCompletPoint);
// On affiche tout les fichiers concerné par ce changement
echo '<font color=red>'.$fichier.'</font> renommé en <font color=blue>'.$fichierPoint.'</font><br>';
}
elseif (is_dir($nomComplet)) // Sinon, si le fichier est un dossier
{
// On appel la fonction delPoint avec comme parametre le nom de se dossier
delPoint($nomComplet);
}
}
}
closedir($dossier);
}
delPoint($rep);
?>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.