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

Форум PHP

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

 

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

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

тема: Какие требуются HTTP-заголовки, чтобы отправить клиенту файл
 
 автор: dima2207   (28.01.2008 в 18:49)   письмо автору
 
 

Как правельно послать хеадер чтобы началась загрузка файла ?
вот так неработает :


header('Content-type: audio/mpeg');
header("Location: $tk");

   
 
 автор: retsoul   (28.01.2008 в 20:33)   письмо автору
 
   для: dima2207   (28.01.2008 в 18:49)
 

последний пример на странице:
http://softtime.ru/dic/id_dic=145&id_group=4

   
 
 автор: dima2207   (28.01.2008 в 21:16)   письмо автору
 
   для: retsoul   (28.01.2008 в 20:33)
 

ОГРОМНОЕ ВАМ retsoul ЧЕЛОВЕЧЕСКОЕ СПАСИБО!
наконец-то !!! хух......!

   
 
 автор: retsoul   (28.01.2008 в 21:19)   письмо автору
 
   для: dima2207   (28.01.2008 в 21:16)
 

сам недавно с этим разбирался :)
по той ссылке, что дал, не разобрался, а стоило залезть на английский мануал, как озарило! %)
теперь и в этот пример въехал :)

так что, пожалуйста :)

   
 
 автор: dima2207   (28.01.2008 в 21:32)   письмо автору
 
   для: retsoul   (28.01.2008 в 21:19)
 

а возможно-ли задать адресс на удаленном сервере ?
потому-что вот так оно пытается сохранить файл с моего сервера :

// We'll be outputting a PDF
header('Content-type: audio/mpeg');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="http://download.mysyte.ru/mp3_files/179/17993/r_kelly_-_the_streets.mp3"');
// The PDF source is in original.pdf
readfile("r_kelly_-_the_streets.mp3");

   
 
 автор: retsoul   (28.01.2008 в 22:35)   письмо автору
 
   для: dima2207   (28.01.2008 в 21:32)
 

возможно, во втором хидере - прописываете имя файла(там же написано filename), а в readfile - адрес расположения скачиваемого файла

да, ещё вопрос, а как вы обпределили Content-type? :)

   
 
 автор: dima2207   (28.01.2008 в 22:40)   письмо автору
 
   для: retsoul   (28.01.2008 в 22:35)
 

Тип файла я определил когда сокетом открывал файл , в заголовке !

   
 
 автор: retsoul   (28.01.2008 в 22:51)   письмо автору
 
   для: dima2207   (28.01.2008 в 22:40)
 

понятно :)
мне просто интересно стало)
сам я обхдился банальным application/<тип файла> - самое интересное, что работало :)

   
 
 автор: dima2207   (28.01.2008 в 22:58)   письмо автору
 
   для: retsoul   (28.01.2008 в 22:51)
 

ну что , вроде работает ! вот только плохо что пишит что размер файла неизвестен . можно ли это как -то исправить ?

   
 
 автор: dima2207   (28.01.2008 в 23:09)   письмо автору
 
   для: dima2207   (28.01.2008 в 22:58)
 

да , и еще вопрос - как подставить переменную ? вот так неработает :

header('Content-Disposition: attachment; filename="'.$tk.'"');

   
 
 автор: retsoul   (28.01.2008 в 23:36)   письмо автору
 
   для: dima2207   (28.01.2008 в 23:09)
 

а если так?
header("Content-Disposition: attachment; filename=\"$tk\"");

или так
header("Content-Disposition: attachment; filename='$tk'");

   
 
 автор: retsoul   (28.01.2008 в 23:41)   письмо автору
 
   для: dima2207   (28.01.2008 в 22:58)
 

послать заголовком размер файла, всё тот же header может передать и размер файла
header("Accept-Ranges: bytes"); // указываем в каком размере будет передавать файл
header("Content-Length: $filesize");// размер файла в байтах

где в переменной $filesize - вы передаёте размер файла

   
 
 автор: dima2207   (28.01.2008 в 23:57)   письмо автору
 
   для: retsoul   (28.01.2008 в 23:41)
 

Ок , ясно , а как мне быть если файл находится на другом серваке , и размер файла заранее неизвестен .
наверное никак (мысли в слух).

   
 
 автор: retsoul   (29.01.2008 в 00:13)   письмо автору
 
   для: dima2207   (28.01.2008 в 23:57)
 

попробуйте определить через сокет :)
как определили тип :)) вдруг получится?
я вот на этот вопрос ответа не знаю пока ещё :)

   
 
 автор: dima2207   (29.01.2008 в 01:50)   письмо автору
 
   для: retsoul   (29.01.2008 в 00:13)
 

Насколько я помню там в заголовке непередается размер файла , поэтому прийдется считывать весь файл а это нецелесообразно !

   
Rambler's Top100
вверх

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