|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre actif
![]() Patrick Mingard Inscription : mai 2006 Messages : 166 ![]() |
Hello,
J'ai actuellement un petit problème avec un script de gestion d'image en PHP. L'idée est d'associer un avatar à chaque utilisateur du site (rien de nouveau). L'image est enregistrée dans un champ de type "longblob" de la base de donnée MySQL associée (pourquoi dans la BD et non dans un fichier? simplement pour éviter que si par hasard l'identificateur de l'utilisateur change, l'image soit ensuite invalide). L'enregistrement de l'image se fait sans problème. Mon script qui renvoie l'image ressemble à : Code :
Afin de permettre aux gens de faire clic droit sur l'image -> "Afficher l'image", j'ai modifié mon code comme suit : Code :
L'étape suivante est de permettre aux utilisateurs de pouvoir télécharger l'image par un clic droit -> "Enregistrer l'image sous...". Par contre, cette fonctionnalité ne marche pas avec le code que j'ai mis juste au dessus si le cache est désactivé (ça marche si le cache du browser est activé). Le fichier téléchargé est un fichier d'image, correct d'ailleurs, mais qui porte le nom de mon script PHP (et une extension .PHP, ce qui est génant). C'est un peu génant pour l'utilisateur de devoir modifier l'extension d'un fichier .PHP en .JPG pour pouvoir ensuite visualiser en local l'image (et la plupart des utilisateurs ne penseraient d'ailleurs pas à le faire, ce qui est tout à fait normal). php.net propose un morceau de code ressemblant à : Code :
Voilà, j'ai plus trop d'idée pour permettre aux utilisateurs de télécharger l'image, lorsque leur cache browser est désactivé, et en ayant bien un fichier .jpg. Si vous arrivez à m'aider, je vous en remercie grandement Sinon, je crois que je vais mettre tout sur le disque et oublier les 3 h de lecture de RFC que je viens de passer Merci d'avance |
||||||
|
|
00
|
|
|
#2 | ||
|
Membre actif
![]() Patrick Mingard Inscription : mai 2006 Messages : 166 ![]() |
Juste une petite précision, mon code HTML permettant l'affichage de l'image (correct dans le browser) ressemble à :
Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() ![]() |
Salut !
Avec header(), il est effectivement possible de renommer le fichier, mais il ne faut pas oublier son extension : Code :
header('Content-Disposition: attachment; filename="photouser'.$id_utilisateur.'.jpg"'); Code :
monscript_image.php?id_utilisateur=202
Tu trouveras plus d'infos ici A++ |
|
|
00
|
|
|
#4 | ||
|
Membre actif
![]() Patrick Mingard Inscription : mai 2006 Messages : 166 ![]() |
L'ajout de l'extension au fichier ne change pas le problème, c'est toujours un .php qui est téléchargé.
Visiblement le serveur Apache est pas configuré pour accepter correctement l'URL rewriting. Le fichier httpd.conf contient : Code :
Cette dernière ligne semble être indispensable pour le module d'URL rewriting. Il manque peut être aussi différentes autres lignes dont je n'ai l'information qu'elles soient indispensables. Comme je n'ai pas vraiment possibilité de modifier ce fichier de config Apache, je pense que je vais me rabattre sur une autre solution : les images iront sur le disque sous forme de fichier... (si vous avez d'autres suggestions, je suis toutefois preneur) |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com