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

Discussion :

Enregistrement de fichier via un lien

  1. #1
    Membre habitué Avatar de solorac
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 140
    Points
    140
    Par défaut Enregistrement de fichier via un lien
    Bonjour la Communauté,

    J'aimerai savoir comment je peux faire pour que le lien que je viens créer sur mon site me demande si je veux exécuter ou enregistrer le document auquel le lien fait référence. Car actuellement, si je clique sur ledit lien, le fichier(excel en l'occurence) s'ouvre sans que je puisse y faire quelquechose.

    Merci pour votre aide

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 110
    Points : 68
    Points
    68
    Par défaut
    Salut,

    Met un atrget '_blank' à ton lien , qui lie vers un script php du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $nom_fichier = "chemin_vers_ton_fichier";
    
        $taille_fichier = filesize($nom_fichier);
    
       header("content-type: application/octet-stream");
    
       header("Content-Length: $taille_fichier");
    
       header("Content-Disposition: attachment; filename=".$nom_fichier);
       
       readfile($nom_fichier);
    A l'issue, ca proposera l'ouverture ou le telechargement à l'utilisateur.

  3. #3
    Membre habitué Avatar de solorac
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 140
    Points
    140
    Par défaut
    Merci pour ta prompte réponse.

    Mais qu'est-ce un "un atrget" blank et surtout ou entrer ton code php ?
    Je ne connais rien du tout en php.

  4. #4
    Membre régulier Avatar de razorlok
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 211
    Points : 111
    Points
    111
    Par défaut
    pour refermer la balise de ton fichier. Ca permet d'ouvrir le lien sur une nouvelle page.

  5. #5
    Membre habitué Avatar de solorac
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 140
    Points
    140
    Par défaut
    Merci pour ton aide.

    Simplement, concernant le code où dois-je le mettre?

    A bientôt

  6. #6
    Membre actif Avatar de tim974
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 175
    Points : 222
    Points
    222
    Par défaut
    salut, le target="_blank" se place à l'intérieur de la balise <a>, mais il existe quelques bugs selon le navigateur, une version mieux contrôlée se déroule en 2 étapes :

    d'abord le lien,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="download.php?Fichier_a_telecharger=monfichier.txt&chemin=test">Télécharger</a>
    puis le code du fichier download.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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?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);
    
    ?>

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 110
    Points : 68
    Points
    68
    Par défaut
    Je ne suis plus sur , mais si tu veux donner un choix a l utilisateur, remplace plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header("Content-Type: application/force-download");
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header("Content-Type: application/octet-stream");
    ++

  8. #8
    Membre habitué Avatar de solorac
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 140
    Points
    140
    Par défaut
    Merci à vous deux pour vos réponses.

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

Discussions similaires

  1. Exporter un rapport (grid) vers fichier excel via un lien
    Par mano_bi dans le forum Microstrategy
    Réponses: 2
    Dernier message: 27/05/2015, 16h12
  2. [CS4] Lancer un fichier pps via un lien
    Par beegees dans le forum Flash
    Réponses: 0
    Dernier message: 01/06/2011, 14h33
  3. [MySQL] Ouvrir fichier via lien
    Par sef313 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 02/12/2009, 21h44
  4. Enregistrer un fichier à partir d'un lien
    Par Dakuan dans le forum Langage
    Réponses: 2
    Dernier message: 06/05/2009, 10h28
  5. Comment exporter et enregistrer un fichier via IdHttp
    Par DevBel dans le forum Web & réseau
    Réponses: 2
    Dernier message: 21/01/2008, 17h57

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