begin process at 2010 02 10 17:16:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Aide & documentation

 > 

Forcer le téléchargement d'un fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Forcer le téléchargement d'un fichier

jeudi 31 mai 2007 à 21:19:29 | Forcer le téléchargement d'un fichier

hood042

Bonjour, je voudrais forcer le téléchargement d'un fichier comme sur ce site : http://dimi30a.olympe-network.com/free.php
Pouvez-vous m'aider ? Merci pour vos réponses.
jeudi 31 mai 2007 à 22:39:05 | Re : Forcer le téléchargement d'un fichier

vilhjalms

Saell og blesuð

<?php

$filename = $_GET['file'];

// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
  ini_set('zlib.output_compression', 'Off');

$file_extension = strtolower(substr(strrchr($filename,"."),1));

if( $filename == "" )
{
  echo "<html><title>Force Download Script</title><body>ERROR: download file NOT SPECIFIED. USE force-download.php?file=filepath</body></html>";
  exit;
} elseif ( ! file_exists( $filename ) )
{
  echo "<html><title>Force Download Script</title><body>ERROR: File not found. USE force-download.php?file=filepath</body></html>";
  exit;
};
switch( $file_extension )
{
  case "pdf": $ctype="application/pdf"; break;
  case "exe": $ctype="application/octet-stream"; break;
  case "zip": $ctype="application/zip"; break;
  case "doc": $ctype="application/msword"; break;
  case "xls": $ctype="application/vnd.ms-excel"; break;
  case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
  case "gif": $ctype="image/gif"; break;
  case "png": $ctype="image/png"; break;
  case "jpeg":
  case "jpg": $ctype="image/jpg"; break;
  default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit;

?>

Vilhjálms
Sigurðsdóttir aka Frëyjá
vendredi 1 juin 2007 à 22:24:11 | Re : Forcer le téléchargement d'un fichier

hood042

Merci mais ce n'est pas comme ça que je veux faire ! Moi je voulais faire comme ce site :
>> [ Lien ] <<
lundi 4 juin 2007 à 18:59:20 | Re : Forcer le téléchargement d'un fichier

masterofquebec

Bonjour,
Je ne l'ai pas testé mais je ne crois pas qu'il y à des erreurs.

Download.html :
<html>

<head>
<title>Download</title>
</head>

<body>

<form name="form" method="post" action="find.php" enctype="multipart/form-data">
   Url du fichier : <input type="text" name="url" size="20"><br>
   <input type="submit" name="submitFile" value="Send" />
</form>

</body>
</html>

Find.php :
<?php

$filename = $HTTP_POSTVARS['url'];

// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
  ini_set('zlib.output_compression', 'Off');

$file_extension = strtolower(substr(strrchr($filename,"."),1));
switch( $file_extension )
{
  case "pdf": $ctype="application/pdf"; break;
  case "exe": $ctype="application/octet-stream"; break;
  case "zip": $ctype="application/zip"; break;
  case "doc": $ctype="application/msword"; break;
  case "xls": $ctype="application/vnd.ms-excel"; break;
  case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
  case "gif": $ctype="image/gif"; break;
  case "png": $ctype="image/png"; break;
  case "jpeg":
  case "jpg": $ctype="image/jpg"; break;
  default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit;

?>


Téléchargeable ici : [ Lien ]

mardi 27 mai 2008 à 05:50:23 | Re : Forcer le téléchargement d'un fichier

bonnebouffe

Membre Club
Bonjour,

Merci beaucoup pour ce bout de code, il m'a bien dépanné.

Une petite question cependant, il fonctionne parfaitement avec IE et FF sur ma machine de développement (Windows 2003) mais dès que je le mets chez mon provider, il ne fonctionne plus avec IE.

Vers quelle piste dois-je chercher ? Je tourne en rond, je deviens fou :-(

Merci d'avance,

Christophe


Cette discussion est classée dans : fichier, téléchargement, forcer


Répondre à ce message

Sujets en rapport avec ce message

Forcer un téléchargement plutôt que l'ouverture d'un fichier [ par Adagyo ] Salut,Je voudrais forcer mes utilisateur à télécharger un fichier (un fichier .csv dans mon cas) plutôt qu'il s'ouvre avec excel dans le navigateur.Co Forcer le téléchargement et fermer la fenêtre !! [ par djagger ] Lussss !Voici mon pb :je force le téléchargement d'un fichier :$file = "fichier.txt";// téléchargement du fichierheader("Content-Type: application/for forcer le téléchargement et espaces dans le fichier [ par arginine ] Bonjour,J'utilise le bout de code suivant pour "forcer le télécharmenet d'un fichier": Fichier dowload.php header("Content-type: application/force-dow forcer le téléchargement d'un MP3 [ par lawebmachine ] Bonjour Je cherche à forcer le téléchargement des MP3 sur le site que je fais. Seulement ça me met un message d'erreur. Qui peut m'aider ? voici le Forcer à télécharger un fichier avec onClick [ par raskar97one ] Bonjour à tous,Dans mon site j'utilise un format de fichier peu connu.(stbe)Lorsque je met un lien pour télécharger celui-ci, firefox essaye de le lir Problème au téléchargement d'un fichier (download) [ par beth2611 ] Bonjour, Je rencontre un problème handicapant, sur un site en php, je liste les fichiers dans une balise select, l'utilisateur selectionne un fichier Lancer le téléchargement d'un .exe [ par N3N3SS ] Bonjour tout le monde, J'ai fini de créer mon site, j'y propose le téléchargement d'un exécutable, calculette de windows pour les tests. J'ai dans m Problème de téléchargement [ par nicolasbonnet13 ] Bonjour, Pouvez-vous m'aider svp, j'ai une page où un utilisateur choisi dans une liste déroulante, lorsqu'il clique sur le bouton, un script sur une Forcer le DL d'un fichier avec espaces .... [ par arginine ] Bonjour, Voici le code que j'utilise pour forcer le téléchargement d'un fichier. Tout se passe tres bien SAUF pourles fichiers dont le nom comporte un


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,855 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales