[PHP] Download файлов

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

[PHP] Download файлов

Непрочитанное сообщение Hazzard » 2009-03-04 6:01:10

в общем:

На серваке есть файл. в пхп есть прямая ссылка на этот файл. Как мне выдать файл на страницу так чтобы страница возвращала пользователю сразу предложение этот файл скачать? не зависимо от типа файла (имею ввиду что файлы бывают разные, exe то сами качаются а вот txt нет).
Debian, php/mysql и другой бред...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: [PHP] Download файлов

Непрочитанное сообщение zg » 2009-03-04 7:11:44

заголовок формируй правильный

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: [PHP] Download файлов

Непрочитанное сообщение Hazzard » 2009-03-04 7:24:55

zg писал(а):заголовок формируй правильный
к сожалению на хосте отключены все известные мне функции с этим связанные, в частности mime_content_type, ввиду чего я не могу "на ходу" определить тип данных для формирования заголовка. Определение типа данных по расширению файла - не подходит.
Debian, php/mysql и другой бред...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: [PHP] Download файлов

Непрочитанное сообщение zg » 2009-03-04 7:32:43

Hazzard писал(а):Определение типа данных по расширению файла - не подходит.
тебе как раз этого и не надо.

Тебе надо вывести заголовок

Код: Выделить всё

Content-Type: application/octet-stream
делается это с помощью стандартной функции header()

Аватара пользователя
Hazzard
сержант
Сообщения: 265
Зарегистрирован: 2009-02-01 21:22:36
Откуда: Москва
Контактная информация:

Re: [PHP] Download файлов

Непрочитанное сообщение Hazzard » 2009-03-04 7:43:23

zg писал(а):
Hazzard писал(а):Определение типа данных по расширению файла - не подходит.
тебе как раз этого и не надо.

Тебе надо вывести заголовок

Код: Выделить всё

Content-Type: application/octet-stream
делается это с помощью стандартной функции header()
в данном случае (незнаю, может от сервера зависит) но при установке конкретно этого типа файла скачиваются битые exe и rar-архивы (в частности).
Debian, php/mysql и другой бред...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: [PHP] Download файлов

Непрочитанное сообщение zg » 2009-03-04 7:48:36

Hazzard писал(а):но при установке конкретно этого типа файла скачиваются битые exe и rar-архивы
ну дак чего ж ты теряешься то? я тебе ссылку не зря кидал.

Во-первых
header() is used to send a raw HTTP header. See the » HTTP/1.1 specification for more information on HTTP headers.
то есть к данным она вообще не имеет никакого отношения

во вторых там есть пример как делать сохранение файлов

Код: Выделить всё

<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>
в третьих, гугл рулил и рулит или тебе каждый раз надо разжёвывать?