Skip to content
Snippets Groups Projects
Commit 40879c63 authored by mvn23's avatar mvn23
Browse files

Merge pull request #3787 from mvn23/patch-1

Thanks @bartv2 and @bantu, merged and closed.
parents 43755a29 59fa3055
No related branches found
No related tags found
No related merge requests found
...@@ -46,6 +46,7 @@ class OC_Files { ...@@ -46,6 +46,7 @@ class OC_Files {
public static function get($dir, $files, $only_header = false) { public static function get($dir, $files, $only_header = false) {
$xsendfile = false; $xsendfile = false;
if (isset($_SERVER['MOD_X_SENDFILE_ENABLED']) || if (isset($_SERVER['MOD_X_SENDFILE_ENABLED']) ||
isset($_SERVER['MOD_X_SENDFILE2_ENABLED']) ||
isset($_SERVER['MOD_X_ACCEL_REDIRECT_ENABLED'])) { isset($_SERVER['MOD_X_ACCEL_REDIRECT_ENABLED'])) {
$xsendfile = true; $xsendfile = true;
} }
...@@ -170,7 +171,22 @@ class OC_Files { ...@@ -170,7 +171,22 @@ class OC_Files {
private static function addSendfileHeader($filename) { private static function addSendfileHeader($filename) {
if (isset($_SERVER['MOD_X_SENDFILE_ENABLED'])) { if (isset($_SERVER['MOD_X_SENDFILE_ENABLED'])) {
header("X-Sendfile: " . $filename); header("X-Sendfile: " . $filename);
}
if (isset($_SERVER['MOD_X_SENDFILE2_ENABLED'])) {
if (isset($_SERVER['HTTP_RANGE']) &&
preg_match("/^bytes=([0-9]+)-([0-9]*)$/", $_SERVER['HTTP_RANGE'], $range)) {
$filelength = filesize($filename);
if ($range[2] == "") {
$range[2] = $filelength - 1;
}
header("Content-Range: bytes $range[1]-$range[2]/" . $filelength);
header("HTTP/1.1 206 Partial content");
header("X-Sendfile2: " . str_replace(",", "%2c", rawurlencode($filename)) . " $range[1]-$range[2]");
} else {
header("X-Sendfile: " . $filename);
}
} }
if (isset($_SERVER['MOD_X_ACCEL_REDIRECT_ENABLED'])) { if (isset($_SERVER['MOD_X_ACCEL_REDIRECT_ENABLED'])) {
header("X-Accel-Redirect: " . $filename); header("X-Accel-Redirect: " . $filename);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment