fantazista
Новичок
Добрый вечер.
Есть файл .htaccess, который редеректит на файл dw.php, сли что то нужно скачать.
На локале все работает. А в онлайне doc (формат скачивается). rar и jpg открываются в браузере.
Из за чего это может быть? Как можно исправить, что бы все правильно скачивалось а сервере
файл dw.php вот такой.
Есть файл .htaccess, который редеректит на файл dw.php, сли что то нужно скачать.
PHP:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^.*\.(pdf|doc|docx|xls|rar|jpg|jpeg|xlsx)$ dw.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?$1 [L]
</IfModule>
Из за чего это может быть? Как можно исправить, что бы все правильно скачивалось а сервере
файл dw.php вот такой.
PHP:
<?php
define('DIRECT_ACCESS', 1);
include_once 'includes/config.php';
error_reporting(E_ALL);
$error_occured = false;
$link = urldecode($_SERVER['REQUEST_URI']);
$folders = explode('/', $link);
$folders = array_slice($folders, array_search('uploads', $folders));
$path = implode('/', $folders);
if (substr($path, 0, 1)=='/') {$path = substr($path,1);}
$filename = end($folders);
if (file_exists($path)) {
$size = filesize($path);
header('Content-Type: application/octet-stream');
header('Content-Length: '.$size);
header('Content-Disposition: attachment; filename='.$filename);
header('Content-Transfer-Encoding: binary');
$file = fopen($path, 'rb');
if ($file) {
fpassthru($file);
exit;
} else {
$error_occured = true;
}
} else {
$error_occured = true;
}
if ($error_occured) {
header('HTTP/1.0 404 Not Found');
print "An error occured during attempt to download file {$path}.";
}
?>