function printHeader($filename, $type) { $mime = getMimeTypeForFile($filename); $ext = explode(".", $filename); $ext = $ext[sizeOf($ext) - 1]; $filename = md5($filename) . ".{$ext}"; if ($type == "view") { header("Content-type: {$mime}"); header("Content-Transfer-Encoding: binary\n"); header("Expires: 0"); header("Content-Disposition: filename={$filename}"); //header('Content-length: '.sizeOf($imgcode)); } elseif ($type == "download") { if (strpos(_server('HTTP_USER_AGENT'), "MSIE") !== FALSE) { header("Content-type: {$mime}"); header("Content-Disposition: attachment; filename={$filename}"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Transfer-Encoding: binary"); header('Pragma: public'); //header("Content-Length: ".strlen($data)); } else { header("Content-type: {$mime}"); header("Content-Disposition: attachment; filename={$filename}"); header("Content-Transfer-Encoding: binary"); header("Expires: 0"); header('Pragma: no-cache'); //header("Content-Length: ".strlen($data)); } } }
public function test_getMimeTypeForFile() { $tx = getMimeTypeForFile('test.jpg'); $expected = 'image/jpeg'; $this->assertEquals($expected, $tx); }