Resolu : Renommer fichiers
Posté : 05 oct. 2011, 10:39
Bonjour
Je cherche a renommer les fichiers d'un repertoire donne, apres avoir eliminer certains caracteres speciaux, mais le script suivant bloque et je ne vois pas ou. Un peu d'aide serait la bienvenue :
La ou la "rename_phrase" m'affiche exactement ce que je veux faire, avec une bonne syntaxe, quand la fonction rename s'execute : elle fait n'importe quoi.. les noms de fichiers ne correspondent plus et elle ne parvient pas a trouver les fichier (no such file or directory
??? )
Merci
Je cherche a renommer les fichiers d'un repertoire donne, apres avoir eliminer certains caracteres speciaux, mais le script suivant bloque et je ne vois pas ou. Un peu d'aide serait la bienvenue :
Code : Tout sélectionner
<?php
$tab_file = array();
function filter($in) {
$search = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_]@');
$replace = array ('e','a','i','u','o','c','_','');
return preg_replace($search, $replace, $in);
}
$dirname = '/home/dev/smilies';
$dir = opendir($dirname);
while($file = readdir($dir)) {
if($file != '.' && $file != '..' && !is_dir($dirname.$file))
{
$tab_tmp = explode(".", $file);
$tab_file[$tab_tmp[0]] = $tab_tmp[1];
foreach($tab_file as $cle=>$valeur)
{
$rename_phrase = "rename(" . $dirname . "/" . $file .", " . $dirname . "/" . strtolower(filter($cle)) . "." . $valeur . ")\n";
rename($dirname . "/" . $file, $dirname . "/" . strtolower(filter($cle)) . "." . $valeur);
}
}
}
closedir($dir);
?>Merci