Créer un fichier avec un accent dans son nom

So6

Membre actif
11 Juillet 2007
566
47
Bonjour,

Je me heurte à un petit souci PHP : je crée un script qui permet de créer des fichiers HTML de redirection automatique. Le but : pour éviter que les anciennes pages référencées par Google ne mènent vers une 404.

Ainsi je n'ai que deux variables : $ancienne_adresse et $nouvelle_adresse.

Le but est de créer un fichier $ancienne_adresse.html dont l'adresse soit exactement la même que celle enregistrée par Google.

Or les fichiers avec ancienne adresse étaient créés par iWeb et comportaient des accents (exemple : "églisemachin.html").

Question : comment encoder la variable $ancienne_adresse pour que le fichier créé par fputs() prenne bien ce nom avec l'accent?

Actuellement :
- soit je laisse tel quel : fputs($ancienne_adresse,w) et le nom généré ne correspond pas
- soit je fais fputs(urlencode($ancienne_adresse),w) et la lettre accentuée est remplacée par un code du genre %E9 dans l'adresse

Si quelqu'un a une idée...

Merci !
 
Je dirais la deuxième solution. ;) De toutes façons fait le test : si tu redirigé, le robot le sera aussi. ;)

Non non j'ai déjà testé les deux solutions justement :)

N'ayant pas trouvé la solution (qui peut-être n'existe pas puisqu'elle permettrait de faire n'importe quoi : créer des fichiers dont le nom contient des accents...), j'ai trouvé une autre méthode : je récupère dans mon 404.php le nom du fichier vers lequel Google renvoie (qui n'existe donc plus), je le parse comme il faut et je le soumets au moteur de recherche intégré au nouveau site internet. Le visiteur, qui aurait dû tomber sur une 404, tombe sur les résultats de la recherche effectuée à sa place à l'aide des mots clés contenus dans le nom de l'ancien fichier. Ca marche nickel même si c'est un peu barbare.

C'est presque ni vu ni connu, ça évite de générer des fichiers html de redirection en masse, etc.

Merci quand même :)
 
Tu devrais surtout te pencher sur l'urlrewriting. Ensuite si tu tiens à tout prix à créer des fichiers, j'imagine qu'il faut d'abord faire un decode, puis le convertir en utf8 (si c'est sous os x, sinon ça doit varier selon les os).
 
Tu devrais surtout te pencher sur l'urlrewriting. Ensuite si tu tiens à tout prix à créer des fichiers, j'imagine qu'il faut d'abord faire un decode, puis le convertir en utf8 (si c'est sous os x, sinon ça doit varier selon les os).

exactement cest fully dependant du systeme de fichier (ansi que du server mais la lucky ca doit etre apache, on escape par % les unicodes, et firefox n'aime pas mais bon autre histoire, nota faut etre un bon fumiste pour avoir creer un fichier avec accent anyway ), et la solu au dessus caca, on t a deja parlé de perf/memoire ecetera:p? ou plus precisement il y a plus adequat qu un bazouka pour tuer une mouche