X-Git-Url: https://git.p6c8.net/jirafeau.git/blobdiff_plain/18c82ef56dce9c9eb30b0f2318024d320d878a47..bd23d65292b6eda5c00e85ddce27235b5529a565:/file.php diff --git a/file.php b/file.php index bb97570..710ce3d 100644 --- a/file.php +++ b/file.php @@ -30,6 +30,11 @@ if (!isset ($_GET['h']) || empty ($_GET['h'])) exit; } +/* Operations may take a long time. + * Be sure PHP's safe mode is off. + */ + set_time_limit(0); + $link_name = $_GET['h']; if (!preg_match ('/[0-9a-zA-Z_-]{22}$/', $link_name)) @@ -174,14 +179,24 @@ if ($cfg['download_page'] && !$password_challenged && !$button_download && !$but exit; } +header ('HTTP/1.0 200 OK'); header ('Content-Length: ' . $link['file_size']); -header ('Content-Type: ' . $link['mime_type']); if (!jirafeau_is_viewable ($link['mime_type']) || !$cfg['preview'] || $button_download) -{ header ('Content-Disposition: attachment; filename="' . $link['file_name'] . '"'); +else + header ('Content-Type: ' . $link['mime_type']); + +/* Read file */ +$r = fopen (VAR_FILES . $p . $link['md5'], 'r'); +while (!feof ($r)) +{ + print fread ($r, 1024); + ob_flush(); } -readfile (VAR_FILES . $p . $link['md5']); +fclose ($r); + +//readfile (VAR_FILES . $p . $link['md5']); if ($link['onetime'] == 'O') jirafeau_delete_link ($link_name);