Accès aux fichiers au nom accentué

Mammouth du PHP | 1668 Messages

31 mai 2010, 19:57

Bonsoir à toutes et à tous,

Voilà, je rencontre des difficultés pour accéder aux fichiers qui ont un nom avec des caractères spéciaux :
J'ai une table sous MySQL qui contient les chemins d'accès à des images en JPG, seulement, ma mission est de remplacer ces liens vers les images, par les images elle-même. De ce coté là, pas de soucis (BLOB), seulement, dès que les liens vers images contiennent un ou plusieurs caractère "spécial", file_get_contents plante lamentablement en niant l'existence du fichier, ce qui est faux. Comment faire pour y accéder ?

Par avance,
Merci
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 mai 2010, 22:40

As-tu essayé de suivre les recommandations de la doc ?
Note: Si vous ouvrez une URI avec des caractères spéciaux, comme des espaces, vous devez encoder cette URI avec la fonction urlencode().
Par ailleurs, une question tout à fait personnelle, pourquoi vouloir stocker une image dans la base de données ? C'est pour de l'analyse d'image ou c'est juste pour pouvoir les dropper avec l'enregistrement sans utiliser php ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 1668 Messages

01 juin 2010, 07:21

Bonjour,
Merci de ta réponse.
Concernant ce choix technique, petite contextualisation : je suis en stage et j'ai eu le "privilège" de récupérer une application totalement buggué, en tout point MLD même pas en première forme normale, 10 pages de 1.000 lignes de code codés sans procédure, sans commentaire, sans indentation, sans esprit, sans sucre, sans sel... Des short tag en veux-tu en voilà, des injection SQL en dur, bref. Cette application sensible, utilisé par les polices scientifiques françaises, est censé pouvoir permettre d'attacher des images à des "fiches", images qui étaient stockés jusque là en brute sur le serveur en fonction de l'identifiant et du laboratoire. Seulement la gestion de session étant... "étrange", dès que deux laboratoire se connectes, les images se mettent n'importe où. De plus, pour dumper l'application, mon maitre de stage m'a dit que ce serait plus simple, donc là j'ai pas le choix, les images sont pas vraiment lourdes (<= 4 images par fiche, <= 50 ko par image). Là j'ai résolu un problème qui consistait en ce que l'upload de 4 images prenait environs 30 minutes contre moins d'une seconde maintenant, je vais attaquer la refonte totale.

Merci, je vais tester ça aujourd'hui.

PS : Bon, c'était encore pire, j'ai fais un petit str_replace et ça passe, encore merci
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol