Firefox hat Probleme beim Download mit einem Leerzeichen im Dateinamen

Scheint es, dass firefox hat ein problem mit Leerzeichen im Dateinamen für den Download...

header( 'Content-Type: text/csv' );
header( 'Content-Disposition: attachment;filename='.$filename);
$fp = fopen('php://output', 'w');
fputs($fp, $csvdata);
fclose($fp);

Hier ist ein Beispiel für eine Datei mit dem Namen: Test_ Grad Fair 2_20140129_1312_607.csv

Wenn ich versuche die Datei zu downloaden mit dem code oben mit FireFox tritt Folgendes auf. (das Hauptproblem ist, es entfernt die Datei-Endung!)

Firefox hat Probleme beim Download mit einem Leerzeichen im Dateinamen

Und wenn ich versuche den Download vom Safari oder Chrome:

Firefox hat Probleme beim Download mit einem Leerzeichen im Dateinamen

 
 

Ich weiß eine Lösung wäre vielleicht so etwas wie:

$filename = str_replace(' ', '', $filename);

Aber ich bevorzuge, um herauszufinden, warum FireFox ist mit diesem problem, es scheint ein bisschen lächerlich, dass man nicht ein Leerzeichen in einem Dateinamen. Dies könnte sein, wie ein %20 statt einem Speicherplatz-problem?

  • Leerzeichen in Datei-Namen, die zu Gast sind online sind in der Regel Eine Schlechte Idee. Es wird viel, viel einfacher, Dateien umbenennen, als zu warten, bis Firefox nicht dieses problem haben.
  • Hast du eigentlich versuchen %20 oder +? Oder urlencode()?
  • wenn meine Kunden hochgeladen haben eine Datei und möchten, laden Sie es mit dem original-Dateinamen ist wirklich die beste option. Es wäre wirklich seltsam, dass die Unannehmlichkeiten für meine website-Nutzer von solchen technischen problem, wenn es eine Lösung gibt.
Schreibe einen Kommentar