Эта тема на forum.dklab.ru


Матвей: Отправка файла скриптом
Подскажите, пожалуйста, вы быстрее сообразите.
У меня в переменной $current_filename содержится имя файла типа файл.txt (echo подтверждает), но при передаче его этим скриптом браузеру передается имя в формате файл[1].txt или файл[2] ...

header("Cache-Control: private");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$current_filename");

1. Как правильно написать чтобы отправлялось правильное имя?
2. Как добавить PATH к файлу если он в другом каталоге ("../files/" не помогает, если добавляю ссылка вообще получается на сам файл download.php)?

Заранее спасибо.
Maus:
Матвей
Попробуйте вариант заголовков отсюда: http://xpoint.ru/forums/programming/PHP/faq.xhtml#187
Матвей:
Пробовал, все равно перед расширением ставит [1].
Переменная $current_filename берется из массива-->

$current = mysql_fetch_array(mysql_query("select...
$current_filename=$current[0];

Echo нормально выводит, а header ненормально.
Матвей:
На счет квадратных скобок немного проясняется, они исчезают если в названии файла только одна точка, если больше (типа файл.номер.тип) то снова появляется.
Но файл передается размером 0 байт, я уже его ложил и в директорию скрипта, и в www, и в корневую localhost, все равно 0 байт.
Почему?
Maus:
как добавить PATH к файлу если он в другом каталоге
The receiving MUA SHOULD NOT respect any directory path information that may seem to be present in the filename parameter. The filename should be treated as a terminal component only. Portable specification of directory paths might possibly be done in the future via a separate Content-Disposition parameter, but no provision is made for it in this draft.
файл передается размером 0 байт
А потому, что Вы кроме заголовков ничего не отдаёте, верно? Файл прочесть надо и отдать (например, через file_get_contents() - но для больших файлов это не пойдёт ). Вот Вам заодно и ответ, как отдать файл из другого каталога.
Матвей:
Спасибо, вопрос решен, file_get_contents() не помог, но readfile() помог

Вопрос решен, тему можно закрыть.
Maus:
Тема закрыта.
Maus:
Перенесено из форума: Форум для начинающих :: Денвер.
Перенесено в форум: Разное :: PHP.

Эта тема на forum.dklab.ru