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

Langage PHP Discussion :

Ouvrir ou télécharger un fichier


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de Mat67
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 145
    Points : 118
    Points
    118
    Par défaut Ouvrir ou télécharger un fichier
    Bonjour, je souhaite lorsque je clique sur un lien ou un bouton, ouvrir la fameuse petite fenêtre qui permet soit d'ouvrir le fichier, soit de l'enregistrer.

    Pour le moment je suis coincé ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="file:///C:/Program Files/Apache Group/Apache2/htdocs/mail/imgp0592.jpg"> clique ici</a>
    Si quelqu'un a une idée, je suis preneur. Merci !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    file:/// est une référence au système de fichier local, pas a un fichier servi par le serveur web.
    il faut utiliser un lien "http://serveur/fichier.ext"

    par contre le comportement du navigateur, depend purement de ce dernier.
    sur un fichier de type image, la navigateur lira le fichier directement en général.

  3. #3
    Membre régulier Avatar de Mat67
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 145
    Points : 118
    Points
    118
    Par défaut
    Merci de ta réponse sabotage.
    Par contre, j'aimerai toujours que cette boite de dialogue (ouvrir ou enregistrer) s'affiche, peut importe le fichier. Y a t'il une solution?

    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    tu peux faire un lien vers ou nouvelle page ou tu mets ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    header("Content-type: application/force-download");
    header("Content-Disposition: attachment; filename=$filename");
    readfile("$chemin/$filename");
    il faut passer en parametre le "filename".
    Le chemin peut etre mis en dur s'il est independant du fichier.

  5. #5
    Membre régulier Avatar de Mat67
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 145
    Points : 118
    Points
    118
    Par défaut
    Moui ... je préférerai tout de même lorsque je clique sur un lien, une fenetre de téléchargement s'ouvre.

    Si quelqu'un a un bout de code à me preter.

    Merci.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est ce que fais la solution que je te propose.

  7. #7
    Membre régulier Avatar de Mat67
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 145
    Points : 118
    Points
    118
    Par défaut
    Ben... nan, pas vraiment, toi tu me dit que je doit ouvrir une nouvelle page, et y mettre ce code là.
    Moi je ne veux pas ouvrir une nouvelle page.

    Ou alors j'ai mal compris ?

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Sauf que la nouvelle page ne fait que lancer le téléchargement. C'est une page "fantôme" si tu veux.

  9. #9
    Membre régulier Avatar de Mat67
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 145
    Points : 118
    Points
    118
    Par défaut
    Dans ce cas, je fait quoi un windows.open ? et pour la refermer directement apres?

    Je vois pas trop comment faire là...

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Non tu as juste a faire ce que j'ai mis.
    PHP va renvoyer le flux du fichier au lieu d'un contenu HTML.

  11. #11
    Membre régulier Avatar de Mat67
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 145
    Points : 118
    Points
    118
    Par défaut
    oui, mais quand je fait àa, des que je charge la page (avec tous les liens pour télécharger les fichiers), le téléchargement se lance tout seul ! Des que la page est chargée, hop, une boite de dialogue apparait...

  12. #12
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    C'est pour ça qu'il faut créer une nouvelle page.
    Comme ça, l'utilisateur clique sur le lien vers la nouvelle page... mais elle ne s'ouvre pas (et n'efface pas la page d'origine) : c'est le téléchargement qui se lance.

    Exemple :

    MaPage.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="DL.php">Lancer le téléchargement !</a>
    DL.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
      header("Content-type: application/force-download");
      header("Content-Disposition: attachment; filename=$filename");
      readfile("$chemin/$filename");
    ?>
    Avec ça, DL.php ne sera jamais affiché (on restera sur MaPage.php), mais le téléchargement sera lancé en cliquant sur le lien.

  13. #13
    Membre régulier Avatar de Mat67
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 145
    Points : 118
    Points
    118
    Par défaut
    Désolé oui, je viens de remarquer... j'avais pas essayé ça comme ça, je pensais que la page cible s'afficherait dans tous les cas. Autant pour moi.

    Merci !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/10/2014, 11h58
  2. [HTML 4.0] Télécharger un fichier au lieu de l'ouvrir
    Par polochonad dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/10/2009, 09h41
  3. Télécharger un fichier XML et non l'ouvrir
    Par BouB dans le forum Langage
    Réponses: 4
    Dernier message: 21/03/2006, 19h37
  4. [FTP] Télécharger un fichier
    Par Piolet dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 09/12/2004, 10h42

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