J'ai conçu un Intranet pour un client où il peut uploader des fichiers par un formulaire.
C'est un client très Windows user.
Dans ses noms de fichier il y a des espace, des caractères accentué, des points partout avant l'extension et des espaces.
J'ai donc fait se qu'il faut pour changer ges espaces et les caractères accentués:
$car_speciaux = array( ' ','À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'È', 'É', 'Ê', 'Ë', 'è', 'é', 'ê', 'ë', 'Ì', 'Í', 'Î', 'Ï', 'ì', 'í', 'î', 'ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'Ù', 'Ú', 'Û', 'Ü', 'ù', 'ú', 'û', 'ü', 'ß', 'Ç', 'ç', 'Ð', 'ð', 'Ñ', 'ñ', 'Þ', 'þ', 'Ý' );
$car_normaux = array( '_','A', 'A', 'A', 'A', 'A', 'A', 'A', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'E', 'E', 'E', 'E', 'e', 'e', 'e', 'e', 'I', 'I', 'I', 'I', 'i', 'i', 'i', 'i', 'O', 'O', 'O', 'O', 'O', 'O', 'o', 'o', 'o', 'o', 'o', 'o', 'U', 'U', 'U', 'U', 'u', 'u', 'u', 'u', 'B', 'C', 'c', 'D', 'd', 'N', 'n', 'P', 'p', 'Y' );
$_FILES["fichier"]['name'] = str_replace($car_speciaux, $car_normaux, $_FILES["fichier"]['name']);
Mais là je vois pas comment faire pour changer le caractère ' exemple: L'apastrophe dans le nom d'un fichier.docLe guillemet servant de conteneur dans ma fonction si j'y ajoute ''', bien sa fait un erreur.
En ne faisant rien pour une raison que j'ignore lors de l'upload un backslash \ est ajouter dans le nom du fichier.
Et comment puis-je enlever les points sans enlever celui de l'extension.
Merci!