Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

file download problems

1.8K
24 января 2007 года
pod
144 / / 05.04.2006
я не очень наварочены в этом вопросе и попрошу поиочь, если можно.
делаю download manager, download-итса может фаил любого типа прописываю так:

header("Cash Control:no-store, no-cache");
header("Content-Type: application/".$ext); ????
header("Content-length: ".filesize($path)."");
header('Content-disposition: attachment; filename="'.$path.'"');

в мозили всё ok, опера сохраняет с расширением html (сама преписывает)
а IE вообше не определяет тип фаила и так сеивит.
по моему дело в header-е.
помогите пожалуста и если можно укажите на хорошую литературу о header.
13
24 января 2007 года
RussianSpy
3.0K / / 04.07.2006
 
Код:
Header("Content-Type: application/force-download; name={$filename}");
Header("Content-Transfer-Encoding: binary");
Header("Content-Length: ".filesize($filename));
Header("Content-Disposition: attachment; filename={$filename}");

А так?
1.8K
24 января 2007 года
pod
144 / / 05.04.2006
так, мозила сохранила его как тот php фаил, через которы я парсю код. а фаил пуст :(
13
24 января 2007 года
RussianSpy
3.0K / / 04.07.2006
 
Код:
Header("Content-Type: application/octet-stream; name={$filename}");
Header("Content-Transfer-Encoding: binary");
Header("Content-Length: ".filesize($filename));
Header("Content-Disposition: attachment; filename={$filename}");

а так?
1.8K
24 января 2007 года
pod
144 / / 05.04.2006
same result.
не хочет нормально.
13
25 января 2007 года
RussianSpy
3.0K / / 04.07.2006
Сдается мне что тут дело не в заголовках... Как вы отдаете файл?
1.8K
25 января 2007 года
pod
144 / / 05.04.2006
по моему у меня не получаетса собрать dowload manager, я как видимо не очень разобрался в header-ах. plz можете мне помоч.
есть фаилы, некоторые в htdocs некоторые выше. надо сделать так чтобы, принимая path (несмотря на тип фаила) скачать любой фаип, коректно.
13
25 января 2007 года
RussianSpy
3.0K / / 04.07.2006
код в студию
1.8K
25 января 2007 года
pod
144 / / 05.04.2006
function downloadFile($path)
{
header("Content-length: ".filesize($path)."");
header("Cash Control:no-store, no-cache");
header("Content-Type: Multipart/alternative");
header("Content-Transfer-Encoding: Binary");
header('Content-disposition: attachment; filename="'.$path.'"');
}
1.8K
25 января 2007 года
pod
144 / / 05.04.2006
вот результат
334
25 января 2007 года
HexEdit
809 / / 27.07.2006
Для начала, выведи просто $path и посмотри что у тебя задано.

Content-Type лучше определять в зависимости от типа файла.
И исправь Cash Control на Cache Control, и добавь заголовки Expires и Pragma: no-cache

 
Код:
header("Cache Control: no-store, no-cache");
header("Expires: Mon, 01 Jan 1970 00:00:00 GMT");
header("Pragma: no-cache");
253
25 января 2007 года
Proger_XP
1.5K / / 07.08.2004
а как вызывается функция?
2hexedit :)
13
25 января 2007 года
RussianSpy
3.0K / / 04.07.2006
Цитата: HexEdit
Для начала, выведи просто $path и посмотри что у тебя задано.

Content-Type лучше определять в зависимости от типа файла.
И исправь Cash Control на Cache Control, и добавь заголовки Expires и Pragma: no-cache

 
Код:
header("Cache Control: no-store, no-cache");
header("Expires: Mon, 01 Jan 1970 00:00:00 GMT");
header("Pragma: no-cache");


Ты вообще понял в чем вопрос заключается? Не запрет кэширования, а отдача бинарника. Каким местом соотносится к этому тот код что ты написал?

334
25 января 2007 года
HexEdit
809 / / 27.07.2006
Я просто исправил.. Кстати у меня были проблемы с передачей файла без отмены кэширования.
13
25 января 2007 года
RussianSpy
3.0K / / 04.07.2006
Без кода тебе никто помочь не сможет. Проблема не в заголовках, а в остальном коде. Может у тебя выводится что-нибудь на экран перед заголовками... Или опечатка в имени переменной. Те примеры что я приводил рабочие, но у тебя работать они отказались

Кстати есть еще вариант - поставь в ФФ плагин LiveHttpHeaders и посмотри какие заголовки тебе присылают сервера при скачивании файла (любой сервер выбери где можно скачать файл - тот же sourceforge.net например)
253
25 января 2007 года
Proger_XP
1.5K / / 07.08.2004
Цитата: RussianSpy
Может у тебя выводится что-нибудь на экран перед заголовками....


Врят ли... У него же все-таки качается файл, пусть и не тот

1.8K
27 января 2007 года
pod
144 / / 05.04.2006
я решил проблему!
1. исходя из browser-а надо было отослать правильный header.
2.задать chuncksize. (чтоб перед закачкой много не думал).

всётоки проблема была в mime type-е ;)
1.8K
01 февраля 2007 года
pod
144 / / 05.04.2006
пришлось снова преподнять эту тему.
произошёл такой глюк:
file download system работает так:
index.php подключает download.php которы лежит не в htdocs (а выше),
в download.php вызываетса функциа закачки и не происходит ничего. :(
если dowload.php положить в htdocs токда всё ок, но в этом случае можно скачать любой фаил на сервере, а это как вы понимаете не коректно.
можно ли как небуть убить этот баг?
253
01 февраля 2007 года
Proger_XP
1.5K / / 07.08.2004
Выше htdocs ничего не может быть, т.к в нем могут лежать только те файлы, которые доступны извне
А если положить файл еще ниже htdocs? Например, в htdocs/userdl/
13
01 февраля 2007 года
RussianSpy
3.0K / / 04.07.2006
Цитата: Proger_XP
Выше htdocs ничего не может быть, т.к в нем могут лежать только те файлы, которые доступны извне
А если положить файл еще ниже htdocs? Например, в htdocs/userdl/



Тебе не кажется что ты написал чушь?

253
01 февраля 2007 года
Proger_XP
1.5K / / 07.08.2004
Может быть :) Я хотел сказать, что open_basedir может ограничить доступность скриптов, подключить его не из этой папки нельзя
1.8K
01 февраля 2007 года
pod
144 / / 05.04.2006
есть 2 групы фаилов privete & public.
privete лежит в /srv/www/upload
public лежит в /srv/www/htdocs/upload
доступ до privete возможен только через функцию. вот и вся система.

а может ли быть конфликт header-ов? у HTML скрипта же тоже есть какиета header-и?
13
01 февраля 2007 года
RussianSpy
3.0K / / 04.07.2006
Цитата: pod
есть 2 групы фаилов privete & public.


"privete" от слова "привет" или "превед"?

Цитата: pod

а может ли быть конфликт header-ов? у HTML скрипта же тоже есть какиета header-и?


понятия "HTML-скрипт" не существует. header'ы отправляет веб-сервер, а не "хтмл скрипт".

1.8K
01 февраля 2007 года
pod
144 / / 05.04.2006
privete тоесть private.

да sorry я ошибся но могут ли прити в конфликт header-ы?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог