Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: докачка приаттаченного файла
 
 автор: 1999   (03.10.2006 в 00:09)   письмо автору
 
 

как организовать докачку файлов при заходе на ссылку вида process.php?file=video.avi???
когдла приатачиваю его хедером, то докачка невозможна, что есть нехорошо. Можно ли сделать так, чтоб по клику на этой ссылке файл выдавался с возможностью докачки, но не раскрывая фактическое местоположение файла? (так организована скачка видео на mp3real.ru кстати)

   
 
 автор: cheops   (03.10.2006 в 12:43)   письмо автору
 
   для: 1999   (03.10.2006 в 00:09)
 

Для этого нужно анализировать заголовки, которые присылаемые пользователям HTTP-заголовки, нет ли там заговка Range, который указывает позицию в байтах, начиная с которой нужно докачать файл.

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=16438

   
 
 автор: 1999   (04.10.2006 в 02:15)   письмо автору
 
   для: cheops   (03.10.2006 в 12:43)
 

ага ясно... вот приведу часть лога закачки

6 04.10.2006 01:41:45 GET /files/Verve%20-%20Bittersweet%20Symphony%20(Moby%20Remix).mp3 HTTP/1.0
                      User-Agent: Download Master
                      Accept: */*
                      Referer: http://x508.spb.ru/files/
                      Pragma: no-cache
                      Cache-Control: no-cache
                      Host: x508.spb.ru
7 04.10.2006 01:41:45 HTTP/1.1 200 OK
                      Date: Tue, 03 Oct 2006 21:41:46 GMT
                      Server: Apache/1.3.26 (Unix) PHP/4.3.1 mod_throttle/3.1.2 rus/PL30.15
                      Last-Modified: Tue, 03 Oct 2006 19:34:19 GMT
                      ETag: "769aac-323000-4522bb3b"
                      Accept-Ranges: bytes
                      Content-Length: 3289088
                      Connection: close
                      Content-Type: audio/mpeg
8 04.10.2006 01:41:46 Start new section [2]
9 04.10.2006 01:41:46 Start connection to x508.spb.ru:80 [2]
10 04.10.2006 01:41:46 Connecting to x508.spb.ru:80 [2]
11 04.10.2006 01:41:46 Connected [2]
12 04.10.2006 01:41:46 GET /files/Verve%20-%20Bittersweet%20Symphony%20(Moby%20Remix).mp3 HTTP/1.0
                       User-Agent: Download Master
                       Accept: */*
                       Referer: http://x508.spb.ru/files/
                       Range: bytes=1645847-
                       Pragma: no-cache
                       Cache-Control: no-cache
                       Host: x508.spb.ru
13 04.10.2006 01:41:46 HTTP/1.1 206 Partial Content
                       Date: Tue, 03 Oct 2006 21:41:47 GMT
                       Server: Apache/1.3.26 (Unix) PHP/4.3.1 mod_throttle/3.1.2 rus/PL30.15
                       Last-Modified: Tue, 03 Oct 2006 19:34:19 GMT
                       ETag: "769aac-323000-4522bb3b"
                       Accept-Ranges: bytes
                       Content-Length: 1643241
                       Content-Range: bytes 1645847-3289087/3289088
                       Connection: close
                       Content-Type: audio/mpeg
14 04.10.2006 01:41:46 Start new section [3]
15 04.10.2006 01:41:46 Start connection to x508.spb.ru:80 [3]
16 04.10.2006 01:41:46 Connecting to x508.spb.ru:80 [3]
17 04.10.2006 01:41:47 Connected [3]
18 04.10.2006 01:41:47 GET /files/Verve%20-%20Bittersweet%20Symphony%20(Moby%20Remix).mp3 HTTP/1.0
                       User-Agent: Download Master
                       Accept: */*
                       Referer: http://x508.spb.ru/files/
                       Range: bytes=824227-
                       Pragma: no-cache
                       Cache-Control: no-cache
                       Host: x508.spb.ru
19 04.10.2006 01:41:47 HTTP/1.1 206 Partial Content
                       Date: Tue, 03 Oct 2006 21:41:47 GMT
                       Server: Apache/1.3.26 (Unix) PHP/4.3.1 mod_throttle/3.1.2 rus/PL30.15
                       Last-Modified: Tue, 03 Oct 2006 19:34:19 GMT
                       ETag: "769aac-323000-4522bb3b"
                       Accept-Ranges: bytes
                       Content-Length: 2464861
                       Content-Range: bytes 824227-3289087/3289088
                       Connection: close
                       Content-Type: audio/mpeg
20 04.10.2006 01:41:47 Start new section [4]
21 04.10.2006 01:41:47 Start connection to x508.spb.ru:80 [4]
22 04.10.2006 01:41:47 Connecting to x508.spb.ru:80 [4]
23 04.10.2006 01:41:47 Connected [4]
24 04.10.2006 01:41:47 GET /files/Verve%20-%20Bittersweet%20Symphony%20(Moby%20Remix).mp3 HTTP/1.0
                       User-Agent: Download Master
                       Accept: */*
                       Referer: http://x508.spb.ru/files/
                       Range: bytes=2469467-
                       Pragma: no-cache
                       Cache-Control: no-cache
                       Host: x508.spb.ru
25 04.10.2006 01:41:47 HTTP/1.1 206 Partial Content
                       Date: Tue, 03 Oct 2006 21:41:48 GMT
                       Server: Apache/1.3.26 (Unix) PHP/4.3.1 mod_throttle/3.1.2 rus/PL30.15
                       Last-Modified: Tue, 03 Oct 2006 19:34:19 GMT
                       ETag: "769aac-323000-4522bb3b"
                       Accept-Ranges: bytes
                       Content-Length: 819621
                       Content-Range: bytes 2469467-3289087/3289088
                       Connection: close
                       Content-Type: audio/mpeg


в начале Content-Range - 1645847- (устати почему в конце стоит минус?)
потом становится 1645847-3289087/3289088 - это как понимать?

   
 
 автор: Trianon   (04.10.2006 в 10:15)   письмо автору
 
   для: 1999   (04.10.2006 в 02:15)
 

>в начале Content-Range - 1645847- (устати почему в конце стоит минус?)
Где Вы это увидели? Нет такой строки.

>потом становится 1645847-3289087/3289088 - это как понимать?

Content-Range: 1645847-3289087/3289088
надо понимать следующим образом.
Сервер возвращает диапазон байт с 1645847-го по 3289087-й байты.
Общий размер всего документа - 3289088 байт.

   
 
 автор: 1999   (04.10.2006 в 14:14)   письмо автору
 
   для: Trianon   (04.10.2006 в 10:15)
 

Range: bytes=1645847-
в 1-41-46. Вот. Что это?

   
 
 автор: cheops   (04.10.2006 в 15:01)   письмо автору
 
   для: 1999   (04.10.2006 в 14:14)
 

Это запрос начать загрузку файла с 1645847 байта, пропустив предыдущий объём информации.

   
 
 автор: Trianon   (04.10.2006 в 15:11)   письмо автору
 
   для: 1999   (04.10.2006 в 14:14)
 

Range: bytes=1645847-
Эта строка из заголовка запроса. И она не начинается со слова Content.
В ощем случае Range: bytes=first-last
Где first - номер первого байта диапазона, а last - номер последнего байта диапазона.
Если отсутствует first - запрашивается диапазон от начала документа.
Если отсутствует last - запрашивается диапазон до конца документа.
Вот в данном случае last отсутствует, и запрашиваемый диапазон - от позиции 1645847 до конца документа.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования