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 :

Forcer un téléchargement [Fait]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 179
    Par défaut Forcer un téléchargement
    Bonjour

    pour forcer le téléchargement d'un fichier plutot que de le voir s'afficher dans le navigateur, j'utilise le petit script php suivant, trouver facilement sur le net
    que j'ai appeler Telecharger.php
    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
     <?php 
    // information concernant le fichier à télécharger
    $fichier = '/CLIENTS/monfichier.jpg'; 
    $nom_fichier = 'monfichier.jpg'; 
     
    // téléchargement du fichier 
    header('Content-disposition: attachment; filename='.$nom_fichier); 
    header('Content-Type: application/force-download'); 
    header('Content-Transfer-Encoding: fichier'); 
    header('Content-Length: '.filesize($fichier)); 
    header('Pragma: no-cache'); 
    header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); 
    header('Expires: 0'); 
    readfile($fichier); 
    ?>
    et dans mon bouton qui propose le tele chargement j'ai

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
     <a href="Telecharger.php">

    La fenetre de téléchargement apparait bien, mais la page "mere", celle où se trouve le bouton disparait ??? Ce qui ne va pas du tout !!

    Quelqu'un a-til une idée pour résoudre ce phénomène ?
    Merci de vos réponses
    YC

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    VOici un code qui fonctionne correctement, teste le

    Comment forcer le téléchargement d'un fichier ?

  3. #3
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
     <a href="Telecharger.php" Target="_blank">

    devrait suffir....
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 179
    Par défaut
    C'est pas mieux ....
    Le Target="_blank" ouvre une page blanche audessus de la page d'appel qui reste ouverte apres que le téléchargement soit terminé. Il faut la fermer a la main !

    Le code que j'utilise est le suivant

    Telecharge.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     <?php
    $PathFic =$_GET['PathFic'];
    $FicWeb  =$_GET['FicWeb'];
    header("Content-type: application/force-download" );
    header("Content-Length: ".filesize($PathFic));
    header("Content-Disposition: attachment; filename=".$FicWeb );
    readfile($PathFic);
    ?>
    L'appel dans la page est

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     <a href="Telecharge.php?PathFic=./CLIENTS/CNACGP/CC100Dev.exe&FicWeb=CC100Dev.exe"; Target="_blank" >
    <img src="IMAGESPLUS/BOUTONS/BTN_TELECHAR_NORM.bmp" 
    style="top: 230px; left: 100px; position: absolute; visibility:visible; cursor: hand" onmouseover="src='IMAGESPLUS/BOUTONS/BTN_TELECHAR_SURV.bmp'" 
    onmouseout ="src='IMAGESPLUS/BOUTONS/BTN_TELECHAR_NORM.bmp'"></a>
    <img src="IMAGESPLUS/ICOFIC/EXE.bmp" 
    style="width:24px; height:24px; top: 230px; left: 220px; position: absolute;
        visibility:visible"; cursor: default >
    <p class="NomFic" style="left: 250px; top: 235px;<position: absolute; visibility: visible; cursor: default ">CC100Dev.exe</p>
    Ce code est généré par du php

    Si quelqu'un voit la faille .....
    Merci
    YC

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/06/2007, 15h27
  2. [PHP-JS] Forcer le téléchargement d'une image JPG
    Par Amnesiak dans le forum Langage
    Réponses: 5
    Dernier message: 09/11/2006, 23h50
  3. [Configuration] problème pour forcer le téléchargement d'un fichier
    Par All Bran dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 02/01/2006, 16h23
  4. Réponses: 1
    Dernier message: 08/09/2005, 11h01
  5. Réponses: 2
    Dernier message: 23/03/2005, 08h51

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