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

Форум PHP

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

 

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

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

тема: Задать имя скачиваемого файла
 
 автор: SHAman   (28.03.2007 в 21:11)   письмо автору
 
 

Господа, я все парюсь с загрузкой файлов через скрипт. У мя все выходит, но есть одно но. А именно: когда открывается диалог загрузки, имя по-умолчанию для загружаемого файла - это имя скрипта, который передает этот файл. Как задать имя файла?

Пишу:

Content-type: application/octet-stream; name=name\n\n

Не помогает:(

   
 
 автор: Trianon   (28.03.2007 в 21:14)   письмо автору
 
   для: SHAman   (28.03.2007 в 21:11)
 

1. что значит \n\n?
2. имя следует заэкранировать и взять в кавычки.
3. имеет смысл продублировать его в Content-Disposition: attachment; filename="имя"

   
 
 автор: SHAman   (29.03.2007 в 11:59)   письмо автору
 
   для: Trianon   (28.03.2007 в 21:14)
 

1. \n\n значит - два перевода строки. Когда сервер посылает ответ клиенту, он посылает заголовки, каждый на новой строке, затем "пустой заголовок" - как раз эти \n\n, а потом уже тело сообщения. В php это делается автоматически (что не есть гуд, ибо вы пользуетесь и не знаете как на самом деле), а в Perl это нужно делать ручками. Правда, можно использовать модуль CGI.pm, который делает работу с CGI, во многом, похожей с php. То есть - самооживление переменных, самоопределение формата передачи, автоматический разбор заголовков, автоматическое формирование заголовков в нужном месте и порядке и т.д.

2, 3. Спасибо, попробую

   
 
 автор: Trianon   (29.03.2007 в 12:13)   письмо автору
 
   для: SHAman   (29.03.2007 в 11:59)
 

1. Строки заголовков согласно RFC-2616 разделяются парой символов CR LF. Терминатор заголовка - соответственно - CR LF CR LF. На php это выглядит как "\r\n\r\n".
Как это делается, я знаю, и не только на уровне php :)

Про perl вроде бы разговора не было. Соответственно, контекст по умолчанию php-шный.
То, что в perl это может выглядеть еще как-нибудь - с этим я спорить не буду.

В общем, Ваша запись меня смутила. Я решил, что Вы эти символы прямо в вызов header() отправляете.

   
 
 автор: SHAman   (29.03.2007 в 14:37)   письмо автору
 
   для: Trianon   (29.03.2007 в 12:13)
 

Отлично! Спасибо, получилось.

   
Rambler's Top100
вверх

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