Страница 1 из 1
[PHP] Download файлов
Добавлено: 2009-03-04 6:01:10
Hazzard
в общем:
На серваке есть файл. в пхп есть прямая ссылка на этот файл. Как мне выдать файл на страницу так чтобы страница возвращала пользователю сразу предложение этот файл скачать? не зависимо от типа файла (имею ввиду что файлы бывают разные, exe то сами качаются а вот txt нет).
Re: [PHP] Download файлов
Добавлено: 2009-03-04 7:11:44
zg
заголовок формируй правильный
Re: [PHP] Download файлов
Добавлено: 2009-03-04 7:24:55
Hazzard
zg писал(а):заголовок формируй правильный
к сожалению на хосте отключены все известные мне функции с этим связанные, в частности mime_content_type, ввиду чего я не могу "на ходу" определить тип данных для формирования заголовка. Определение типа данных по расширению файла - не подходит.
Re: [PHP] Download файлов
Добавлено: 2009-03-04 7:32:43
zg
Hazzard писал(а):Определение типа данных по расширению файла - не подходит.
тебе как раз этого и не надо.
Тебе надо вывести заголовок
делается это с помощью стандартной функции
header()
Re: [PHP] Download файлов
Добавлено: 2009-03-04 7:43:23
Hazzard
zg писал(а):Hazzard писал(а):Определение типа данных по расширению файла - не подходит.
тебе как раз этого и не надо.
Тебе надо вывести заголовок
делается это с помощью стандартной функции
header()
в данном случае (незнаю, может от сервера зависит) но при установке конкретно этого типа файла скачиваются битые exe и rar-архивы (в частности).
Re: [PHP] Download файлов
Добавлено: 2009-03-04 7:48:36
zg
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');
?>
в третьих, гугл рулил и рулит или тебе каждый раз надо разжёвывать?