[RESOLU] Force le telechargement du fichier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Force le telechargement du fichier

Re: Force le telechargement du fichier

par rimie » 25 juil. 2014, 16:20

j'ai le fichier sur un autre serveur, enfin j'ai utilise cURL pour trouver la solution:
$url = $_GET['path'];

    $fileName = $_GET['file'];

    set_time_limit(0);
    header("Pragma: public");
    header("Expires: 0"); 
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    header("Cache-Control: private",false);
    header("Content-Type: application/download"); 
    header("Content-Disposition: filename=$fileName");

    $ch = curl_init($url.$fileName);
    curl_exec($ch);
    curl_close($ch);        
    exit();

Re: Force le telechargement du fichier

par xTG » 16 juil. 2014, 20:26

Problème lors de la rédaction du topic donc ?
site.com/download/mp3/file.mp3
Que retournes un file_exists() à la place du readfile() ?

Re: Force le telechargement du fichier

par rimie » 16 juil. 2014, 12:46

download/mp3 ou Downloads/Medias ???
Et les autres variables sont-elles définies ? ;)
C'est le chemin Downloads/Medias...
et les variables sont bien definies

Re: Force le telechargement du fichier

par xTG » 15 juil. 2014, 20:24

download/mp3 ou Downloads/Medias ???
Et les autres variables sont-elles définies ? ;)

Pour forcer le téléchargement tu peux mentir sur le type dans le header en disant que c'est un binaire (application/octet-stream si je ne m'abuse).

Force le telechargement du fichier

par rimie » 15 juil. 2014, 17:32

Bonjour,

J'essai de telecharger un fichier MP3, mais il passe en lecture via le navigateur, mes code sont:

direct_download.php
$file = $_GET['file'];
$file = basename($file);
header ("Content-disposition: attachment; filename=".$file.";");
header("Content-Length: ".filesize($file));
readfile($siteURLHTTPServer1.'Downloads/Medias/'.$rub.'/'.$srub.'/'.$cat.'/'.$scat.'/'.$tilawa_type.$riwaya_type.'/MP3/'.$file);
exit();
Lien de telechargement
echo '<a href="Files/direct_download.php?file='.$domainSite.'_'.$scat.$num_pad.'.mp3" id="'.$id.'" style="cursor: pointer;" target="_BLANK"><img src="'.$path2icons.'Download32_32.png" class="embedDownload masterTooltip" width="25" height="25" align="absmiddle" /></a>';
Les fichier sont dans ces dossiers:
site.com/download/mp3/file.mp3
site.com/files/direct_download.php
site.com/files/download_link.php
Quand je telecharge le fichier, il retourne un fichier 0 octects, alors si je prends le lien direct du fichier il y a un fichier de 1MO.

Merci a vous