IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Pb changement nom de fichier dans htaccess


Sujet :

Apache

  1. #1
    Membre habitué Avatar de alejandro
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2004
    Messages : 167
    Points : 188
    Points
    188
    Par défaut Pb changement nom de fichier dans htaccess
    Bonjour,

    Je dispose d'un répertoire contenant des fichiers jpg dont le nom est généré aléatoirement :

    0ea75662bc9a4efa6114139ed1530ea4.jpg
    2b2ac35cc81dbd923e2579bf02c9746c.jpg
    etc ...

    Lorsque je fais un lien vers une de ces images, cette dernière s'affiche correctement dans mon navigateur. Seulement je ne souhaite pas ce comportement mais plutôt qu'une fenêtre s'ouvre et me propose de télécharger mon fichier.

    Donc je crée un fichier .htaccess dans lequel je place les directives de configuration suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ForceType application/octet-stream
    Header set Content-Disposition "attachment; filename=test.jpg"
    Cela fonctionne très bien ! Sauf que je ne souhaite pas que tous mes fichiers aient le même nom. Je pensais récupérer le nom du fichier comme suit :

    Exemple d'URL : http://localhost/chemin/vers/fichier...9ed1530ea4.jpg
    ?nom_de_mon_fichier

    Je change mon htaccess comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ForceType application/octet-stream
    Header set Content-Disposition "attachment; filename=%{QUERY_STRING}e.jpg"
    Sauf que lorsque ma fenêtre s'ouvre, le nom de mon fichier est (null).jpg

    Quelqu'un pourrait-il me m'aider ?

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Et sans la directive Header, ça donne quoi ?

    QUERY_STRING n'est pas une variable d'environnement par défaut, il faut la définir. Généralement ça se fait avec SetEnvIf sauf que tu n'as pas non plus accès à la query string avec cette directive. Il faut donc que tu passes par mod_rewrite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteEngine on
    RewriteCond %{QUERY_STRING} .
    RewriteRule \.jpg$ - [E=QueryString:%{QUERY_STRING}]
     
    Header set Content-Disposition "attachment; filename=%{QueryString}e.jpg"

  3. #3
    Membre habitué Avatar de alejandro
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2004
    Messages : 167
    Points : 188
    Points
    188
    Par défaut Presque ...
    Bonjour ...

    C'est bon mais il faut quand même rajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ForceType application/octet-stream
    Donc au final :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteEngine on
    RewriteCond %{QUERY_STRING} .
    RewriteRule \.jpg$ - [E=QueryString:%{QUERY_STRING}]
    ForceType application/octet-stream
    Header set Content-Disposition "attachment; filename=%{QueryString}e.jpg"
    Merci pour tout ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. stocker les nom de fichiers dans une base
    Par Corben dans le forum Windows
    Réponses: 2
    Dernier message: 04/01/2006, 15h50
  2. Upload et enregistrement du nom du fichier dans une bdd
    Par johan_barbier dans le forum XMLRAD
    Réponses: 8
    Dernier message: 26/09/2005, 12h02
  3. rechercher d'un nom de fichier dans un répertoire
    Par yerome dans le forum Langage
    Réponses: 7
    Dernier message: 21/07/2005, 11h54
  4. Mettre le nom du fichier dans TextEdit ?? Avec CFileDialog
    Par P'tit Troll dans le forum Windows
    Réponses: 2
    Dernier message: 19/04/2005, 17h32
  5. Réponses: 4
    Dernier message: 10/10/2003, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo