Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Forcer le téléchargement d'un fichier [ Divers / Aide & documentation ] (hood042)

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é 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 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 Nom fichier téléchargement forcé [ par flopad ] Salut tout le monde,j'ai le code suivant qui me permet de lancer le téléchargement d'un fichier, par contre, il prend pour nom le nom de la page conte Compteur téléchargement [ par m2rtech ] Bonjour, Je souhaite réaliser un compteur de téléchargement.Dans mon site ou depuis un lien url se trouvant sur site distant, je souhaite mesurer le n téléchargement à partir d'un autre site [ par jeje11991 ] Bonsoir,J'ai un fichier PHP qui ouvre un fichier zip de 250 mo, dans le but que mon fichier php envoie directement le fichier zip à l'utilisateur.Le p forcer le téléchargement d'un fichier son , bug sous IE [ par kisaka ] Bonjour à tous, je voudrais forcer le téléchargement d'un ficher son et voici mon code. [code] header("Pragma: no-cache"); header("Expires: 0"); Forcer le téléchargement ... [ par Anthotill ] Salut à tous !Je cherche un code permettant de forcer le telechargement de tout type de fichier (doc wmv etc...)J'en es vue un sur ce site mais je ne Compteur téléchargement [ par m2rtech ] Bonjour, Je souhaite faire un comptage de téléchargement sur un fichier précis.Ce comptage doit pouvoir se réaliser quelques soit le site ou est réali


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,796 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.