begin process at 2012 02 13 07:07:53
  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 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 Téléchargement à la volée [ par BananaTree ] Bonjour, je n'arrive pas à forcer le téléchargement d'un fichier texte généré à la volée. je ne souhaite pas que ce fichier soit enregistré sur le se Forcer le téléchargement [ par djimson ] Bonjour, De l'aide pour ce script: En fait, je veux forcer le téléchargement des fichiers envoyer par FTP dans le répertoire COURS. Alors, j'arrive à Téléchargement tout types de fichier (même *.txt) [ par spacedelta ] Bonjour, Je cherche le moyen de mettre en téléchargement un pdf mais je ne peux pas car c'est le plugins pdf qui le lit le plus souvent. Je sais que u 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,312 sec (4)

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