Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1812 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Forcer le téléchargement et espaces dans le nom du fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Forcer le téléchargement et espaces dans le nom du fichier

n°1264811
arginine
Posté le 12-12-2005 à 18:36:16  profilanswer
 

Bonjour,
J'utilise le bout de code suivant pour "forcer le télécharmenet d'un fichier":
 
Fichier dowload.php

Code :
  1. <?php
  2. header("Content-type: application/force-download" );
  3. header("Content-Disposition: attachment; filename=".$_GET['file']);
  4. readfile($_GET['chemin'].$_GET['file']);
  5. ?>


Et voici la syntaxe des liens pour forcer le téléchargement:
 

Code :
  1. <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
 

mood
Publicité
Posté le 12-12-2005 à 18:36:16  profilanswer
 

n°1264817
masklinn
í dag viðrar vel til loftárása
Posté le 12-12-2005 à 18:51:21  profilanswer
 

Citation :

header("Content-Disposition: attachment; filename=\"".$_GET['file']."\"");


 
Ou bien

Citation :

header('Content-Disposition: attachment; filename="'.$_GET['filename'].'"');


Message édité par masklinn le 12-12-2005 à 18:52:37

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1265850
arginine
Posté le 13-12-2005 à 19:51:08  profilanswer
 

Merci pour ta réponse mais ni l'une ni l'autre des solutions ne marche

n°1265898
Ricco
Retour au pays
Posté le 13-12-2005 à 21:01:23  profilanswer
 

essaye ça alors pê
 
header('Content-Disposition: attachment;filename=' . htmlencode($_GET['filename']) . "'" );


Message édité par Ricco le 13-12-2005 à 21:02:51

---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Forcer le téléchargement et espaces dans le nom du fichier

 

Sujets relatifs
Requête sur fichier XML comme BDDtélécharger un fichier
transférer un fichier[VB6] écrire a la fin d'un fichier .txt
faire un spool vers un fichier dont le nom est horodaté (toto09122005)Enchainement de fichier d'instruction dans un batch
Ouverture de fichier.frx et de fichier.frmCréer un fichier vide en C. [Résolu]
Pb Socket et fichierGestion des données d'un fichier TXT
Plus de sujets relatifs à : Forcer le téléchargement et espaces dans le nom du fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR