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!)
Und wenn ich versuche den Download vom Safari oder Chrome:
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+
? Oderurlencode()
? - 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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das mit dem Namen sollte der parameter in doppelte Anführungszeichen eingeschlossen werden.
Sehen http://kb.mozillazine.org/Filenames_with_spaces_are_truncated_upon_download
Hatte ich ein kleines Problem beim herunterladen einer Datei mit Datei-name Leerzeichen enthält.
Ich habe das Problem behoben mit dem folgenden code.
Ich hatte geschrieben, dieser code für CodeIgniter Rahmen.
Dieser Arbeit wird für alle Arten von Dateien und alle Browser einschließlich mozilla firefox und IE