|
@@ 1854-1865 (lines=12) @@
|
| 1851 |
|
$mime = $targets[3]; |
| 1852 |
|
|
| 1853 |
|
$filenameEncoded = rawurlencode($name); |
| 1854 |
|
if (strpos($filenameEncoded, '%') === false) { // ASCII only |
| 1855 |
|
$filename = 'filename="'.$name.'"'; |
| 1856 |
|
} else { |
| 1857 |
|
$ua = $_SERVER['HTTP_USER_AGENT']; |
| 1858 |
|
if (preg_match('/MSIE [4-8]/', $ua)) { // IE < 9 do not support RFC 6266 (RFC 2231/RFC 5987) |
| 1859 |
|
$filename = 'filename="'.$filenameEncoded.'"'; |
| 1860 |
|
} elseif (strpos($ua, 'Chrome') === false && strpos($ua, 'Safari') !== false && preg_match('#Version/[3-5]#', $ua)) { // Safari < 6 |
| 1861 |
|
$filename = 'filename="'.str_replace('"', '', $name).'"'; |
| 1862 |
|
} else { // RFC 6266 (RFC 2231/RFC 5987) |
| 1863 |
|
$filename = 'filename*=UTF-8\'\''.$filenameEncoded; |
| 1864 |
|
} |
| 1865 |
|
} |
| 1866 |
|
|
| 1867 |
|
$fp = fopen($path, 'rb'); |
| 1868 |
|
$file = fstat($fp); |
|
@@ 1938-1949 (lines=12) @@
|
| 1935 |
|
} |
| 1936 |
|
|
| 1937 |
|
$filenameEncoded = rawurlencode($file['name']); |
| 1938 |
|
if (strpos($filenameEncoded, '%') === false) { // ASCII only |
| 1939 |
|
$filename = 'filename="'.$file['name'].'"'; |
| 1940 |
|
} else { |
| 1941 |
|
$ua = $_SERVER['HTTP_USER_AGENT']; |
| 1942 |
|
if (preg_match('/MSIE [4-8]/', $ua)) { // IE < 9 do not support RFC 6266 (RFC 2231/RFC 5987) |
| 1943 |
|
$filename = 'filename="'.$filenameEncoded.'"'; |
| 1944 |
|
} elseif (strpos($ua, 'Chrome') === false && strpos($ua, 'Safari') !== false && preg_match('#Version/[3-5]#', $ua)) { // Safari < 6 |
| 1945 |
|
$filename = 'filename="'.str_replace('"', '', $file['name']).'"'; |
| 1946 |
|
} else { // RFC 6266 (RFC 2231/RFC 5987) |
| 1947 |
|
$filename = 'filename*=UTF-8\'\''.$filenameEncoded; |
| 1948 |
|
} |
| 1949 |
|
} |
| 1950 |
|
|
| 1951 |
|
$result = [ |
| 1952 |
|
'volume' => $volume, |