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

HTML Discussion :

Enregistrer un fichier


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Par défaut Enregistrer un fichier
    Bonjour à tous,

    Je débute en HTML et je galère depuis 2 jours sur un problème.

    J'ai fait une page HTML avec un lien sur un document texte.
    Cette page HTML ne fait pas partie d'un site mais sera intégrée dans un fichier CHM.
    Je souhaiterais que lorsque l'utilisateur clique sur le lien, il puisse enregistrer directement le fichier.

    Donc ma question est :
    Est-il possible de faire cela sans que ne soit une page Weeb ?
    Et si oui comment faire ?

    Souvent mes recherches m'ont renvoyées sur le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php 
     
    // on essaie de reconnaitre l'extension pour que le téléchargement corresponde au type de fichier afin d'éviter les erreurs de corruptions 
     
    switch(strrchr(basename($Fichier_a_telecharger), ".")) {
     
    case ".gz": $type = "application/x-gzip"; break;
    case ".tgz": $type = "application/x-gzip"; break;
    case ".zip": $type = "application/zip"; break;
    case ".pdf": $type = "application/pdf"; break;
    case ".png": $type = "image/png"; break;
    case ".gif": $type = "image/gif"; break;
    case ".jpg": $type = "image/jpeg"; break;
    case ".txt": $type = "text/plain"; break;
    case ".htm": $type = "text/html"; break;
    case ".html": $type = "text/html"; break;
    default: $type = "application/octet-stream"; break;
     
    }
     
    header("Content-disposition: attachment; filename=$Fichier_a_telecharger"); 
    header("Content-Type: application/force-download"); 
    header("Content-Transfer-Encoding: $type\n"); // Surtout ne pas enlever le \n
    header("Content-Length: ".filesize($chemin . $Fichier_a_telecharger)); 
    header("Pragma: no-cache"); 
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); 
    header("Expires: 0"); 
    readfile($chemin . $Fichier_a_telecharger); 
    ?>
    Code que j'enregistre dans un fichier situé au même endroit que ma page HTML, et que je nomme « Telecharger.php ».
    Ensuite à partir de ma page HTML, j'appelle le code comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
    <head>
    <title>Test du téléchargement d'un fichier</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
     
    <a href="telecharger.php?Fichier_a_telecharger=MyFile.txt&chemin=DownLoad/">Télécharger</a> 
     
    </body>
    </html>
    J'ai malgré tout un doute sur le comment définir mes variables.
    « Fichier_a_Telecharger » est-il bien simplement le nom du fichier texte ?
    « chemin » est-il le chemin d'accès au répertoire contenant le fichier texte ?

    Enfin, sur les tests que j'ai effectué, le lien fonctionne mais il m'ouvre une nouvelle page avec le code php.

    Merci de bien vouloir m'aider.

    Cordialement

    Christophe

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    soit tu utilise un lien de type file soit tu utilise ton script.

    maintenant :
    Enfin, sur les tests que j'ai effectué, le lien fonctionne mais il m'ouvre une nouvelle page avec le code php.
    cela laisse a penser que ton serveur ne prend pas en compte le php. est tu sur de ça au moins avant de faire tes tests?
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    Membre émérite

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Par défaut
    Bonsoir,

    Merci de bien vouloir m'aider.
    Je ne sais pas si mon serveur prend en compte le php.
    Je suis simplement sur Internet explorer.
    De plus, mon projet n'a pas but à servir sur un site mais mes pages HTML seront intégrées dans un fichier *.chm.

    Comment faire pour savoir si mon PC prend en compte le php ?
    Mon PC est tout neuf et est en Seven/Office 2007.

    Cordialement

    Christophe

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Citation Envoyé par marsouin_89 Voir le message
    Comment faire pour savoir si mon PC prend en compte le php ?
    Mon PC est tout neuf et est en Seven/Office 2007.
    A priori tu travailles en local, cond la réponse est simple : tu as un serveur PHP si tu l'as installé. Si tu n'as pas installé de serveur Apache, Wamp, EasyPHP ou assimilé, c'est que tu n'en as pas.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre émérite

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Par défaut
    Bonsoir Célira,

    En effet, je suis en local.
    Conclusion, je ne pourrais pas faire ce que je souhaites.

    Merci de vos remarques.

    Sujet clos et on passe à autre chose.

    Cordialement

    Christophe

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

Discussions similaires

  1. enregistrer deux fichier dans un seul fichier
    Par Bourak dans le forum Langage
    Réponses: 9
    Dernier message: 05/11/2005, 09h48
  2. Réponses: 3
    Dernier message: 01/10/2005, 21h26
  3. [FLASH MX2004] Enregistration du fichier .swf
    Par Ladzhar dans le forum Flash
    Réponses: 1
    Dernier message: 20/09/2005, 14h40
  4. [JSP] où s'enregistrent les fichiers ?
    Par Kyti dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 18/07/2005, 15h15
  5. enregistrement des fichiers tlb
    Par bidson dans le forum XMLRAD
    Réponses: 3
    Dernier message: 26/11/2003, 15h56

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