Skip to content

Commit

Permalink
Downloading file - PHP warning loop "Permission denied" (prasathmani#879
Browse files Browse the repository at this point in the history
)

* Bugfix: Stop looping error when downloading a file with no access.

* Delete .history directory

ignore .history
  • Loading branch information
llcool authored Nov 7, 2022
1 parent 4f67f50 commit 529839f
Showing 1 changed file with 20 additions and 7 deletions.
27 changes: 20 additions & 7 deletions tinyfilemanager.php
Original file line number Diff line number Diff line change
Expand Up @@ -3060,6 +3060,26 @@ function fm_download_file($fileLocation, $fileName, $chunkSize = 1024)
$contentType = implode(' ', $contentType);
}

$size = filesize($fileLocation);

if ($size == 0) {
fm_set_msg(lng('Zero byte file! Aborting download'), 'error');
fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));

return (false);
}

@ini_set('magic_quotes_runtime', 0);
$fp = fopen("$fileLocation", "rb");

if ($fp === false) {
fm_set_msg(lng('Cannot open file! Aborting download'), 'error');
fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));

return (false);

}

header("Cache-Control: public");
header("Content-Transfer-Encoding: binary\n");
header("Content-Type: $contentType");
Expand All @@ -3076,7 +3096,6 @@ function fm_download_file($fileLocation, $fileName, $chunkSize = 1024)

header("Accept-Ranges: bytes");
$range = 0;
$size = filesize($fileLocation);

if (isset($_SERVER['HTTP_RANGE'])) {
list($a, $range) = explode("=", $_SERVER['HTTP_RANGE']);
Expand All @@ -3092,12 +3111,6 @@ function fm_download_file($fileLocation, $fileName, $chunkSize = 1024)
header("Content-Length: " . $size);
}

if ($size == 0) {
die('Zero byte file! Aborting download');
}
@ini_set('magic_quotes_runtime', 0);
$fp = fopen("$fileLocation", "rb");

fseek($fp, $range);

while (!feof($fp) and (connection_status() == 0)) {
Expand Down

0 comments on commit 529839f

Please sign in to comment.