Forcer un download de 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 : Forcer un download de fichier....

RESOLU : Forcer le téléchargement d'un fichier...

par André » 14 nov. 2007, 13:25

Effectivement Piaf,

C'est ce que j'ai fait par la suite et j'ai trouvé exactement ce que j'avais besoin.

Qui-que le code ci-dessus est intéressant, je le mets de côté !.

Merci pour votre aide.

par Ryle » 14 nov. 2007, 10:16

Modération :

André, le forum FAQ contient des explications détaillées sur ce sujet :
:arrow: Forcer le téléchargement d'un fichier

Vérifier dans la FAQ ou faire une petite recherche préalable n'est pas superflu.

par h0_noMan » 14 nov. 2007, 00:09

Tu as du faire autre chose que ce que j'ai t'ai dit.

Par exemple :

download.php?file=X (ou X est un numero correspondant a un fichier)
<?php
//                        X=0                  X=1                  X=2
$fichiers = array('./MP3/fichier1.mp3','./MP3/fichier2.mp3','./MP3/fichier3.mp3');
$filename = $fichiers[intval($_GET['file'])] ;

if(is_file($filename) && file_exists($filename))
{
header('Content-type: application/octet-stream');
$handle = fopen ($filename, "r");
$contents = fread ($handle, filesize ($filename));
fclose ($handle);
}else{
header("HTTP/1.0 404 Not Found");
}

?>

Forcer le téléchargement d'un fichier...

par André » 13 nov. 2007, 23:57

Ben voilà, j'ai essayé, j'ai toujours le même cas !, le fichier se lit dans le Browser !

par h0_noMan » 13 nov. 2007, 23:57

Tu dois te creer une page qui enverra le Content-Type puis lira le fichier.

Perso, je trouve que cela ne sert a pas grand chose, vu qu'au final l'utilisateur pourras le lire.
Alors, pourquoi le bloquer ?

Forcer un download de fichier....

par André » 13 nov. 2007, 23:44

Comme ceci ?

header('Content-type: application/octet-stream');
header('location: '.$path.''.$videoalire.');

par h0_noMan » 13 nov. 2007, 23:35

Il faut que tu modifies le Content-Type du document envoyé.
header('Content-type: application/octet-stream');

par Kaoteknik » 13 nov. 2007, 23:33

Là j'avoue que ça dépasse mes compétences... Le javascript permet peut-être de réaliser ce que tu souhaites, mais je suis loin d'être calé dans ce domaine !

En plus à priori tu tiens absolument à ce que l'opération s'effectue par le biais du php, donc ça ne résoudrait pas ton problème. Désolé, je ne vois pas. :(

Forcer le téléchargement d'un fichier...

par André » 13 nov. 2007, 23:23

Oui, j'ai essayé le "Header", mais le fichier qui devrait être téléchargé s'ouvre dans mon navigateur.

Exemple, si c'est une vidéo, Quick time s'ouvre dans le navigateur et lit la video.

Je voudrait simplement forcer un Download, qui ouvre la fenêtre, voulez-vous sauvegarder... et choisir où le sauver....

Là je calle !

par Kaoteknik » 13 nov. 2007, 23:18

As-tu essayé la fonction PHP "header" ? Elle permet d'effectuer des redirections de la même façon que la balise HTML "refresh"...

Forcer un download de fichier....

par André » 13 nov. 2007, 23:07

Bonjour

Je remet à jour un site, et me voici devant un cas :

comment transformer ceci en PHP :

<meta http-equiv="refresh" content="0;url=<?php echo "".$path."".$fichier.""?>">

En d'autres mots, comment forcer ou provoquer le téléchargement.

Merci.

André.