summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgnace Nyamagana Butera <nyamsprod@gmail.com>2015-01-15 13:08:44 +0100
committerIgnace Nyamagana Butera <nyamsprod@gmail.com>2015-01-15 13:08:44 +0100
commit726679435b4330bcffe1fddd5c4eab268aba82af (patch)
treebf14a13fde46d247dd1f253cb7128120a215cba2
parent118402cce475a6769c6afad35376eda8cd4a3c64 (diff)
downloadcsv-726679435b4330bcffe1fddd5c4eab268aba82af.zip
csv-726679435b4330bcffe1fddd5c4eab268aba82af.tar.gz
csv-726679435b4330bcffe1fddd5c4eab268aba82af.tar.bz2
bug fix filename encoding in AbstractCsv::output method
-rw-r--r--src/AbstractCsv.php10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/AbstractCsv.php b/src/AbstractCsv.php
index 45cdefc..8f337f4 100644
--- a/src/AbstractCsv.php
+++ b/src/AbstractCsv.php
@@ -317,14 +317,12 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate
if (! is_null($filename) && self::isValidString($filename)) {
$filename = (string) $filename;
$filename = filter_var($filename, FILTER_UNSAFE_RAW, ['flags' => FILTER_FLAG_STRIP_LOW]);
- $bom = '';
- if ($this->bom_on_output) {
- $bom = chr(239).chr(187).chr(191);
- }
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
- header('Content-Disposition: attachment; filename="'.$filename.'"');
- echo $bom;
+ header('Content-Disposition: attachment; filename="'.rawurlencode($filename).'"');
+ if ($this->bom_on_output) {
+ echo chr(239).chr(187).chr(191);
+ }
}
//@codeCoverageIgnoreEnd
$iterator->rewind();