J'ai des fichiers avec des espaces dans leurs noms qui sont déjà sur mon serveur. Je veux les renommer avec des underscores. J'ai essayé de mettre un slash avant l'espace, et j'ai essayé de remplacer l'espace avec% 20. Encore PHP me donne:Utiliser PHP pour renommer des fichiers avec des espaces
Aucun fichier ou répertoire.
Voici mon code:
$dir = './';
$dhandle = opendir($dir);
$old_files = array();
if ($dhandle) {
while (false !== ($fname = readdir($dhandle)))
{
if (($fname != '.') && ($fname != '..'))
{
$old_files[] = (is_dir("./$fname")) ? "(Dir) {$fname}" : $fname;
}
}
closedir($dhandle);
}
$new_files = str_replace(' ', '_', $old_files);
$x = 0;
foreach($old_files as $file)
{
rename(rawurlencode($file), $new_files[$x++]);
}
J'avais besoin du $ dir. '/'. Merci! – Corey