P-Bereza писал(а):Подскажите плиз. Почему, когда я нажимаю на кнопку "закачать" он мне оригинальной имя всегда заменяет на index.php?
Решил проблему, правда не знаю насколько изящным способом.
Версия net2ftp-0.98
в файле
Код: Выделить всё
/usr/local/www/net2ftp/includes/filesystem.inc.php
находим функцию sendDownloadHeaders начинается с 3689 строки и ее (функцию) нужно заменить
на
Код: Выделить всё
function sendDownloadHeaders($filename, $filesize) {
// --------------
// This function sends download headers to the browser
// --------------
// -------------------------------------------------------------------------
// Global variables
// -------------------------------------------------------------------------
global $net2ftp_globals;
function detectUserAgent() {
if (!array_key_exists('HTTP_USER_AGENT', $_SERVER))
return "Other";
$uas = $_SERVER['HTTP_USER_AGENT'];
if (preg_match("@Opera/@", $uas))
return "Opera";
if (preg_match("@Firefox/@", $uas))
return "Firefox";
if (preg_match("@Chrome/@", $uas))
return "Chrome";
if (preg_match("@MSIE ([0-9.]+);@", $uas, $matches)) {
if (((float)$matches[1]) >= 6.0)
return "IE";
}
return "Other";
}
// -------------------------------------------------------------------------
// Clean the input, and encode the filename with htmlentities
// -------------------------------------------------------------------------
$filename = trim($filename);
$filename_html = htmlEncode3($filename);
$formatRFC2231 = 'Content-Disposition: attachment; filename*=UTF-8\'\'%s';
$formatDef = 'Content-Disposition: attachment; filename="%s"';
// -------------------------------------------------------------------------
// Check which is the content type and disposition
// -------------------------------------------------------------------------
$content_type = getContentType($filename);
switch (detectUserAgent()) {
case "Opera":
case "Firefox":
$filename = rawurlencode($filename);
$format = $formatRFC2231;
break;
case "IE":
case "Chrome":
$filename = rawurlencode($filename);
$format = $formatDef;
break;
default:
if (function_exists('iconv'))
$filename = @iconv("UTF-8", "ISO-8859-1//TRANSLIT", $filename);
$format = $formatDef;
}
header(sprintf($format, $filename));
header("Content-Type: " . $content_type);
header("Expires: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Content-Description: $filename_html");
header("Content-Length: $filesize");
header("Connection: close");
} // End function sendDownloadHeaders
Кому лень возиться вложил готовый файл.
Ну и предупреждение, я не php программист, потому за "красоту" кода не и степень правильности решения ответственности не несу. Ну и Вы используете это на свой страх и риск.
Как результат все качается и работает