i7-2600k
Новичок
Здравствуйте! Скрипт загрузки файла
по какой-то причине отдает файл с не полным названием. Вместо "Светлана Лобода - Город под запретом" выводит "Лобода - Город под запретом" и вместо "Сергей Жуков feat Михаил Жуков - Сердце" выводит "Жуков feat Михаил Жуков - Сердце". ОС Ubuntu 12.04, Apache + nginx
locale
Как не странно в консоле все выводится нормально. В интернете никакой информации по этой теме не нашел. Проблема преследует меня уже пару месяцев. Надеюсь на вашу помощь.
PHP:
header('Content-Type: text/html; charset=utf-8');
if(empty($_GET['file'])) die();
$file = $_GET['file'];
if(preg_match('#http://(.+?)#i', $file)) {
preg_match('#http://(.+?)/(.*)#i', $file, $file);
$file = $file[2];
}
$download_file = '';
$download_rate = 150;
if(file_exists($file) && is_file($file)) {
// send headers
header('Cache-control: private');
header('Content-Type: application/octet-stream');
header('Content-Length: '.filesize($file));
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
flush();
$file = fopen($file, "r");
while(!feof($file)) {
print fread($file, round($download_rate * 1024));
flush();
sleep(1);
}
// close file stream
fclose($file);}
else {
die('Error: The file '.$file.' does not exist!');
}
locale
Код:
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Последнее редактирование модератором: