getFile($fid); $filename = $PERMSTORE . "/" . $file->fid; $download = false; foreach($MIME_TYPES as $m) { if($m->name == $file->mimetype) $download = !$m->show; } //header ("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header('Content-Description: File Transfer'); header('Content-Type: ' . $file->mimetype); header('Content-Length: ' . filesize($filename)); if($download) header('Content-Disposition: attachment; filename=' . basename($file->name)); else header('Content-Disposition: inline; filename=' . basename($file->name)); readfile($filename); } function getFilePreview($fid) { global $DATA_DIR, $UTIL_DIR, $PERMSTORE, $MIME_TYPES; $files = new Files($DATA_DIR . "/files.xml"); $file = $files->getFile($fid); $filename = $PERMSTORE . "/" . $file->fid; if(strstr($file->mimetype, "image/")) { header('Content-Description: File Transfer'); header('Content-Type: ' . $file->mimetype); switch($file->mimetype) { case "image/png": $image = imagecreatefrompng($filename); $image = rescale($image, 64, 64); imagepng($image); break; case "image/jpeg": $image = imagecreatefromjpeg($filename); $image = rescale($image, 64, 64); imagejpeg($image); echo "@"; break; case "image/gif": $image = imagecreatefromgif($filename); $image = rescale($image, 64, 64); imagegif($image); break; } imagedestroy($image); } else { header('Content-Description: File Transfer'); header("Content-type: image/png"); $im = @imagecreate(8 + strlen($file->name) * 5, 20) or die("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($im, 0, 0, 0); $text_color = imagecolorallocate($im, 233, 14, 91); imagestring($im, 1, 5, 5, $file->name, $text_color); imagepng($im); imagedestroy($im); } } ?>