// Sanity check: $file = new File(); if (!$file->isValidName(@$_REQUEST['file'])) { pieErrorImage(); } if (!$file->exists($_REQUEST['file'])) { pieErrorImage(); } if (!$file->read($_REQUEST['file'], $_REQUEST['stamp'])) { pieErrorImage(); } // Check for aliases: while ($file->meta['type'] == "alias") { if ($GLOBALS['pie']['auto_redirect']) { header("Location: " . pieMakeString($GLOBALS['pie']['redirect_media_url'], array('file' => rawurlencode($file->meta['original'])))); exit; } else { // Try to resolve the alias myself. if (!$file->read($file->meta['original'], 0)) { pieErrorImage(); } } } // Dump the contents of the file: header("Last-Modified: " . date("D, d M Y H:i:s", $file->meta['stamp']) . " GMT"); header("Content-Type: " . $file->meta['type']); header("Accept-Ranges: bytes"); header("Content-Length: " . $file->meta['size']); if (!$file->dump($_REQUEST['file'], $_REQUEST['stamp'])) { pieErrorImage(); }