Se connecter avec
S'enregistrer | Connectez-vous
Votre question

Forcer le téléchargement

Dernière réponse : dans Programmation
Partagez
15 Janvier 2006 03:33:54

Salut à tous !

J'ai un probleme lorsque je tente de forcer le téléchargement de fichier.

Voici mon script :

1) le fichier telecharge.php


  1. <?php
  2.  
  3.  
  4.  
  5. header("Content-type: application/force-download");
  6. header("Content-Length: ".filesize($urlComplete));
  7. header("Content-Disposition: attachment; filename=$nomFichier");
  8. readfile("$urlComplete");
  9.  
  10. ?>



2) ma_page.php


  1. $nomFichier = "$file";
  2. // laisser vide si le fichier se trouve dans le même rep
  3. $urlComplete= "http://mon_url/dossier/".$nomFichier;
  4. $nomFichier = str_replace(" ","%20",$file);
  5. ?>
  6. <a href="telecharge.php?urlComplete=<? echo $urlComplete; ?>&nomFichier=<? echo $nomFichier; ?>"><center><font color='#800080'>Télécharger</font></center></a>


La boîte de dialogue s'ouvre bien, le téléchargement se fait bien mais tous les fichiers font environ 220Ko !!
Il est donc inutiles de vous dire que les mp3 sont illisibles !

D'où vient ce problème s'il vous plaît ?

Merci d'avance

Autres pages sur : forcer telechargement

15 Janvier 2006 11:19:53

1/ desactive le register_global :o 
2/ je pense pas que les headers prennent une url mais plutot un chemin local :o 
15 Janvier 2006 12:36:19

Salut !

Registar_global est déjà sur OFF.

Je viens d'essayer avec un chemin local, toujours le même probleme.
15 Janvier 2006 15:19:06

J'ai enfin résolu le problème ! Comme d'habitude, la solution reste toute simple !! :ange: 

Il suffisait de corriger cette ligne :





2) ma_page.php


  1. $nomFichier = $file;
  2. // laisser vide si le fichier se trouve dans le même rep
  3. $urlComplete= "http://mon_url/dossier/".$nomFichier;
  4. $nomFichier = str_replace(" ","%20",$file);
  5. ?>
  6. <a href="telecharge.php?urlComplete=<? echo $urlComplete; ?>&nomFichier=<? [b]echo $file[/b]; ?>"><center><font color='#800080'>Télécharger</font></center></a>


Merci pour ton aide