Bonjour,
J'utilise le bout de code suivant pour "forcer le télécharmenet d'un fichier":
Fichier dowload.php
Code :
- <?php
- header("Content-type: application/force-download" );
- header("Content-Disposition: attachment; filename=".$_GET['file']);
- readfile($_GET['chemin'].$_GET['file']);
- ?>
|
Et voici la syntaxe des liens pour forcer le téléchargement:
Code :
- <a href="download.php?chemin=http://monsite.com/dossier/&file=monfichier.avi">DOWNLOAD</a>
|
ps: le fichier monfichier.avi est situé dans http://monsite.com/dossier
Tout cela marche très très bien sauf si le nom du fichier a télécharger comporte des espaces (ex: monfichier toto.avi). Si je click sur le lien (pour télécharger un fichier avec un espace), j'ai bien une fenêtre de téléchargement qui s'ouvre mais le poids du fichier téléchargé c'est genre 202 octets ... et si je tente d'ouvrir le fichier (avec expace) téléchargé : erreur (si c'est une video: wmp ---> impossible d'ouvrir le fichier).
J'ai bien essayé de remplacer les espaces (avec ereg_replace) par "%20" mais cela ne marche pas non plus...
si quelqu'un a une idée pour résoudre mon probleme (j'ai pas envie de faire un rename des fichiers avec espaces dans le nom).
Par avance merci,
Francis