par
Henri » 27 sept. 2006, 18:12
J'ai eu le même problème il y a quelques mois. Après avoir regardé les fonctions url_encode, utf8_encode et autres dans le même style, et après n'être arrivé à rien (mais je ne suis probablement pas doué), j'ai adopté une autre tactique : supprimer les accents, les espaces et tous les caractères à problèmes (apostrophes, &, ...) dans les noms de fichiers !
Après l'upload, j'applique cette fonction au nom du document original :
function normalize_file_name ($filename) {
$accentue = array('à','ç','é','è','ê','ë','ï','î','ö','ô','ù',
'À','Ç','É','È','Ê','Ë','Ï','Î','Ö','Ô','Ù',
'#','$','?','&',' ', '"', "'");
$normal = array('a','c','e','e','e','e','i','i','o','o','u',
'A','C','E','E','E','E','I','I','O','O','U',
'-','S','_','_et_','_', '_', '_');
return str_replace ($accentue, $normal, $filename);
}
J'ai eu le même problème il y a quelques mois. Après avoir regardé les fonctions url_encode, utf8_encode et autres dans le même style, et après n'être arrivé à rien (mais je ne suis probablement pas doué), j'ai adopté une autre tactique : supprimer les accents, les espaces et tous les caractères à problèmes (apostrophes, &, ...) dans les noms de fichiers !
Après l'upload, j'applique cette fonction au nom du document original :
[php]
function normalize_file_name ($filename) {
$accentue = array('à','ç','é','è','ê','ë','ï','î','ö','ô','ù',
'À','Ç','É','È','Ê','Ë','Ï','Î','Ö','Ô','Ù',
'#','$','?','&',' ', '"', "'");
$normal = array('a','c','e','e','e','e','i','i','o','o','u',
'A','C','E','E','E','E','I','I','O','O','U',
'-','S','_','_et_','_', '_', '_');
return str_replace ($accentue, $normal, $filename);
}
[/php]