Aide - Recherche - Membres - Calendrier
Version complète : Téléchargement
Trucs et astuces Express > Discussions Informatique > Section Internet > Connexion internet
Dey
comment faire pour que lorsque l'on clique sur un lien de téléchargement, le téléchargement se fait automatique au lieu de passer par clic droit et enregistrer sous ?

Merci
Groumphy
Si je ne me trompe pas c'est possible avec PHP.

CODE
<?php
header("Content-disposition: attachment; filename=$fichier");
header("Content-Type: application/force-download");
readfile($fichier);
?>


Cela ne fonctionne pas sur du HTTPS dans IE ...
Groumphy
Et si tu veux le code complet :

CODE
<?php
// infos du fichier
$fichier = 'mes_fichiers/monimage.jpg';
$nom_fichier = 'monimage.jgp';
   
// 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 sur APACHE :

CODE
<FilesMatch "\.(lha|tgz)$">
       ForceType       application/octet-stream
</FilesMatch>


Et le summum :
CODE
<?php

// ------------------------------------------------------------------------- //
// Forcer le téléchargement d'un fichier (une grosse faille en moins)        //
// ------------------------------------------------------------------------- //
// Auteur: Samuel Thery <sam007@free.fr>                                     //
// Web:    http://www.samsite.fr.st                                          //
// ------------------------------------------------------------------------- //

/*
V'la ce que j'ai retrouvé dans mon grenier, et ça sert !!!
En partant du script de SeB, j'ai préféré protéger les fichiers php, php3 et
.htaccess
Ce serait bête qu'on vous pique vos mots de passe bêtement, non ?

eNjoY iT !

Appel du script :
   http://www.votresite.com/download.php?file=./le/chemin/du/fichier.ext
*/

 // #######################################
 // PAr Samuel Thery.         *  25/10/2001
 // Sam007@free.fr http://www.samsite.fr.st
 // #######################################
 // Ce Script Force le téléchargement d'un
 // fichier.
 //  - Message d'erreur si fichier
 //                             inexistant.
 //  - Protection : téléchargement d'un
 //      fichier .php ou .htaccess protégé.
 // #######################################
 // Fonctionne avec PHP / Apache Linux
 // Pbs avec PHP / Apache Window$ pour gros
 //                               fichiers.
 // #######################################

 // Si le fichier existe
 If(file_exists($file))
 {
  // extension du fichier
  $decomp    = explode(".",$file);
  $extfichier = $decomp[count($decomp)-1];

  // Fichiers PHP : Ne pas télécharger !!!
  If($extfichier != "php" && $extfichier != "php3" && $extfichier != "htaccess")
  {
   // Envoi des Headers HTTP : recharge / type binaire / taille du fichier
   header("Pragma: no-cache");
   header("Expires: 0");
   header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
   header("Cache-Control: no-cache, must-revalidate");
   header("Content-Type: octet-stream");
   header("Content-Length: ".filesize($file));
   // Juste le nom du fichier
   $decomp    = explode("/",$file);
   $lefichier = $decomp[count($decomp)-1];
   // Envoi du Header HTTP : Nom du fichier
   header("Content-Disposition: attachment; filename=".$lefichier);
   // Ouverture du fichier
   $lecture = fopen($file,"r");
   While(!feof($lecture))
   {
    // Lecture du fichier
    $line = fread($lecture,255);
    // Envoi du fichier vers le navigateur
    Print($line);
    flush();
   }
  }
  Else
  {
   Print("Désolé, vous ne pouvez pas télécharger les fichiers au format PHP ");
   Print("protection des données et copyright).");
  }
 }
 Else
 {
  // Si le fichier n'existe pas
  Print("Désolé, le fichier n'a pas été trouvé");
 }

?>


Y aurais meme moyen de le faire via un HTACCESS...

A voir.
Ceci une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquez ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.