Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Файл скачивается без расширения


Автор: Гульмира 12.4.2011, 15:20
Здравствуйте. 
 
Недавно переставила Апач-сервер на другую машину. и возникла такая проблема:
в Опере и Эксплорере файл  с Апачи-сервера скачивается нормально.
а вот из Мозиллы v.3.6.16 скачивается без расширения, т.е. document.rar --> document. поставила старую версию Мозиллы все равно скачивается без расширения.
Код:
Код

if (!empty($filename))
{
$sql="select * from new where id=$filename";
$result=mysql_query($sql);
$myrow=mysql_fetch_array($result);
$filename=$myrow["doc"];
$dir='new/';
header("Content-Disposition: attachment; filename=$filename\r\n"); 
header("Content-Type: application/octet-stream\r\n"); 
header("Content-Type: application/force-download\r\n"); 
header("Content-Type: application/download\r\n"); 
header("Content-Transfer-Encoding: binary\r\n"); 
//$fp = fopen($dir.$filename,'rb'); 
$fp = fopen($filename,'rb'); 
fpassthru($fp); 
fclose($fp); 
}

Подскажите как найти решение. Может это быть из за настроек Прокси-сервера? Спасибо.

Автор: jsa 13.4.2011, 12:32
Цитата(Гульмира @  12.4.2011,  20:20 Найти цитируемый пост)
header("Content-Disposition: attachment; filename=$filename\r\n"

Код

header("Content-Disposition: attachment; filename=\"$filename\"");

можно так попробовать
ну и логи смотреть конечно

Автор: Muerto 14.4.2011, 02:14
Глянул как у меня это делается при дамбе базы данных

Код

header("Content-disposition: attachment; filename=data.sql");
echo $con->exportDatabase();


И все...
за место дампа базы данных может быть что угодно

Ещё кстати в моем старом коде стоит 
header("Content-type: text/plain");
над хедеров что выше...

Но не думаю что это играет критичную роль

Заметьте что disposition с маленькой буквы...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)