Выдача файла скриптом
1.
Саня (01.03.2010 / 02:11)
Собственно задача выдавать юзеру jar файл скриптом (как на апвапе)
Поделитесь плиз исходником или кодом за + Заранее благодарен
2.
Lugaro (01.03.2010 / 02:35)
1.
sanzstez, полистай темки, не рас обсуждали
3.
Станислав (01.03.2010 / 02:58)
$local_file='путь_к файлу';
$speed=128; //Эт типа максимальная скорость в кб/сек для скачки файла
header('Cache-control: private');
header('Content-Type: application/octetstream');
header('Content-Length: '.filesize($local_file));
header('Content-Disposition: attachment; filename="Имя_файла");
flush();
$files = fopen($local_file, "r");
while (!feof($files))
{
print fread($files, round($speed * 1024));
flush();
sleep(1);
}
fclose($files);
Вот, как-то так =)))
4.
Станислав (01.03.2010 / 03:00)
З.Ы. Выше вот этого кода никаких заголовков, вывода текста и тп быть не должно.
5.
Саня (01.03.2010 / 03:14)
Благодарю! Блин +сег уже ставил походу - немогу изменить авторитет.
6.
Станислав (01.03.2010 / 10:54)
Да ладно, мне на авторитет пофиг =)))
7.
Саня (01.03.2010 / 22:22)
Потестил - код отлично работает, можно мутить обменник и не боятся за шеллы ))
Но есть одно но
Не пашет докачка файла
Можно как-то поправить?
8.
Станислав (01.03.2010 / 23:23)
Ой, это я не в курсе, если честно, как делается. Может есть более продвинутые и которым не лень будет написать =)))
9.
Саня (02.03.2010 / 00:07)
Всеравно спасибо. )
Вот для компов этот код норм пашет, а вот интересно если качать с мобилы все ок будет? Или возможны проблемы с скачиванием?
10.
ramzes (02.03.2010 / 01:40)
Нормально качается и с телефона.
11.
ктулху (02.03.2010 / 08:17)
Content-Type лучше реальный указывать, но если это обычный текст или html страница то заменять на "application/octetstream" (Угроза активной ХSS).
Если shell_exec не запрещена то реальный mime-type файла можно узнать командой shell_exec("file - i ПУТЬ_К_ФАЙЛУ");
Определит внезависимости от расширения =)
12.
Саня (02.03.2010 / 11:43)
shell_exec походу запрещена... А вот как там xss может пройти, обьясните подробней плз)
URL:
https://visavi.net/topics/6526