Bonjour,
Mon application php récupère un fichier uploader pour pouvoir le transformer en un fichier PDF accessible par l'intranet (lien sur le fichier PDF sur serveur).
Pour que le nom du fichier puisse s'intégrer dans une url, je veux remplacer tous les lettres avec accents par leur équivalent sans accents.
Voici mon script principal :
La fonction clearname :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 require_once("TraitementChaineURL.php"); echo "\n<BR><BR>Le fichier ".$_FILES['DocFile']['name']." a été uploadé !!"; $PosLastChar = strrpos($_FILES['DocFile']['name'],"."); $FileExt = substr($_FILES['DocFile']['name'], $PosLastChar); $FileNameExtLess = substr($_FILES['DocFile']['name'],0,$PosLastChar); echo "\n<BR><BR> Le nom du fichier sans extension est ".$FileNameExtLess; $FileName = clearname($FileNameExtLess); echo "\n<BR><BR>Le fichier ".$FileName.$FileExt; $chemin_destination = "c:\\www\\monsite\\temp\\"; echo "\n<BR><BR>Le chemin de destination est ".$chemin_destination; $fichier_destination = $chemin_destination.$FileName.$FileExt; echo "\n<BR><BR>Le fichier de destination est ".$fichier_destination; move_uploaded_file($_FILES['DocFile']['tmp_name'], $fichier_destination);
Malheureusement ça ne fonctionne pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function clearname($chaine) { $accents = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝþßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýÿÞ"; $ssaccents = "AAAAAAACEEEEIIIIDNOOOOOOUUUUYBsaaaaaaaceeeeiiiidnoooooouuuyyyb"; $chainessaccents = strtr($chaine,$accents,$ssaccents); return ereg_replace("[[:blank:]]+|[[:space:]]+","_",trim($chainessaccents)); }
Voici le résultat pour un fichier nommé "Ýþßàáâãäåæ.xls" :
Le fichier Ýþßàáâãäåæ.xls a été uploadé !!
Le nom du fichier sans extension est Ýþßàáâãäåæ
Le fichier Yþsàaaãaåæ.xls
Le chemin de destination est c:\www\monsite\temp\
Le fichier de destination est c:\www\monsite\temp\Yþsàaaãaåæ.xls
Certains accents ont bien été remplacé mais pas tous ( le à par exemple).
Help !
Merci d'avance
PS: Apache/2.0.54 (Win32) PHP/5.0.5
Essai sous Firefox
Editeur PSPad
Partager