<?PHP class file_extensions { function file_extensions() { $this->arr = Array ( Array ('name' => 'jpg', 'type' => 'image/jpeg', 'disposition' => 'inline'), Array ('name' => 'jpeg', 'type' => 'image/jpeg', 'disposition' => 'inline'), Array ('name' => 'jpe', 'type' => 'image/jpeg', 'disposition' => 'inline'), Array ('name' => 'gif', 'type' => 'image/gif', 'disposition' => 'inline'), Array ('name' => 'bmp', 'type' => 'image/bmp', 'disposition' => 'inline'), Array ('name' => 'tif', 'type' => 'image/tif', 'disposition' => 'inline'), Array ('name' => 'png', 'type' => 'image/png', 'disposition' => 'inline'), Array ('name' => 'wbmp', 'type' => 'image/vnd.wap.wbmp', 'disposition' => 'inline'), Array ('name' => 'pdf', 'type' => 'application/pdf', 'disposition' => 'inline'), Array ('name' => 'exe', 'type' => 'application/octet-stream', 'disposition'=> 'attatchment'), Array ('name' => 'zip', 'type' => 'application/x-zip', 'disposition' => 'attatchment'), Array ('name' => 'gzip', 'type' => 'application/gzip', 'disposition' => 'attatchment'), Array ('name' => 'tgz', 'type' => 'application/tgz', 'disposition' => 'attatchment'), Array ('name' => 'gz', 'type' => 'application/gz', 'disposition' => 'attatchment'), Array ('name' => 'doc', 'type' => 'application/ms-word', 'disposition' => 'inline'), Array ('name' => 'xls', 'type' => 'application/ms-excel', 'disposition' => 'inline'), Array ('name' => 'csv', 'type' => 'application/ms-excel', 'disposition' => 'inline'), Array ('name' => 'swf', 'type' => 'application/x-shockwave-flash', 'disposition' => 'inline'), Array ('name' => 'txt', 'type' => 'text/plain', 'disposition' => 'inline'), Array ('name' => 'text', 'type' => 'text/plain', 'disposition' => 'inline'), Array ('name' => 'rtf', 'type' => 'text/richtext', 'disposition' => 'inline'), Array ('name' => 'xml', 'type' => 'text/xml', 'disposition' => 'inline'), Array ('name' => 'css', 'type' => 'text/css', 'disposition' => 'inline'), Array ('name' => 'js', 'type' => 'text/plain', 'disposition' => 'inline'), Array ('name' => 'wml', 'type' => 'text/vnd.wap.wml', 'disposition' => 'inline'), Array ('name' => 'avi', 'type' => 'video/avi', 'disposition' => 'attatchment'), Array ('name' => 'mpg', 'type' => 'video/mpeg', 'disposition' => 'attatchment'), Array ('name' => 'mpeg', 'type' => 'video/mpeg', 'disposition' => 'attatchment'), Array ('name' => 'mpe', 'type' => 'video/mpeg', 'disposition' => 'attatchment'), Array ('name' => 'wmv', 'type' => 'video/x-ms-wmv', 'disposition' => 'attatchment'), Array ('name' => 'asf', 'type' => 'video/x-ms-asf', 'disposition' => 'attatchment') ); } function content_type($file) { for($i=0; $i<count($this->arr); $i++) if(eregi($this->arr[$i]['name'].'$', $file)) return $this->arr[$i]['type']; } /** * Set headers for a specific file extension */ function set_headers_ext($ext,$name="Download",$size=0) { foreach($this->arr as $types) { if($types['name'] == strtolower($ext)) { header("Content-type: {$types['type']}"); header("Content-disposition: \"{$types['disposition']}\"; filename=\"$name.$ext\"; size=\"$size\""); return $types['type']; } } } } ?>