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

Форум PHP

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

 

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

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

тема: Вывод сообщения о сохранении файла
 
 автор: denis   (16.10.2004 в 00:51)
 
 

Подскажите что нужно написать в php скрипте чтобы в браузере показывалось окно с запросом на сохранение файла?

   
 
 автор: glsv (Дизайнер)   (16.10.2004 в 02:33)   письмо автору
 
   для: denis   (16.10.2004 в 00:51)
 

Можно попробовать вот так.

$filename содержит имя файла с расширением php или html

<?php 
$filename 
"index.html"
$fd fopen($filename"r"); 
if (!
$fd){ 
  
header ("HTTP/1.0 403 Forbidden"); 
  exit; 

$content fread($fdfilesize($filename)); 
fclose($fd); 
header("Content-Disposition: attachment; filename=$filename"); 
header("Content-type: application/octet-stream"); 
print 
$content
exit; 
?> 


Почитайте по ссылке.

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=242

   
 
 автор: denis   (16.10.2004 в 02:45)
 
   для: glsv (Дизайнер)   (16.10.2004 в 02:33)
 

Спасибо. Но работает только в эксплорире работает, а в Опере и Мозиле нет...

   
 
 автор: glsv (Дизайнер)   (16.10.2004 в 12:07)   письмо автору
 
   для: denis   (16.10.2004 в 02:45)
 

>Но работает только в эксплорире работает, а в Опере и Мозиле нет...
Да, я там не проверял...

   
 
 автор: cheops   (16.10.2004 в 12:26)   письмо автору
 
   для: glsv (Дизайнер)   (16.10.2004 в 12:07)
 

Хм... вообще говоря странно - это стандартные HTTP-заголовки.

   
 
 автор: Кузнецов М.В.   (16.10.2004 в 13:39)   письмо автору
 
   для: cheops   (16.10.2004 в 12:26)
 

А в моей опере тоже не работает :) Правда, вы говорите, что у меня опера самодурственная... В Мозиле не знаю, не проверял...

   
 
 автор: cheops   (16.10.2004 в 15:06)   письмо автору
 
   для: Кузнецов М.В.   (16.10.2004 в 13:39)
 

Номер версии Opera какой? второй? :)))

   
 
 автор: Кузнецов М.В.   (16.10.2004 в 15:10)   письмо автору
 
   для: cheops   (16.10.2004 в 15:06)
 

7.2.3

   
 
 автор: Кузнецов М.В.   (16.10.2004 в 14:06)   письмо автору
 
   для: denis   (16.10.2004 в 02:45)
 

Попробуйте вот так. Должно работать везде.
<?php
header
("Content-Disposition: attachment; filename=file.txt");
header("Content-Type: application/x-force-download; name=\"file.txt\"");
?>

Ну, понятное дело, вместо file.txt подставляете реальное имя файла...

   
 
 автор: denis   (16.10.2004 в 13:59)
 
   для: denis   (16.10.2004 в 00:51)
 

И еще вопрос: а как проверить были ли отправлены заголовки, Есть в PHP такая функция?

   
 
 автор: Кузнецов М.В.   (16.10.2004 в 14:09)   письмо автору
 
   для: denis   (16.10.2004 в 13:59)
 

Это можно сделать, к примеру, с помощью функции headers_sent, которая проверяет были ли отправлены заголовки:

bool headers_sent([string &file [, int &line]])

Оба параметра функции - необязательные, и позволяют получить имя файла и номер строки, соответственно, в которых заголовки были отправлены.
Вообще функция возвращает false, если заголовки ещё не были отправлены клиенту и true если заголовки уже отправлены.

   
 
 автор: cheops   (16.10.2004 в 14:58)   письмо автору
 
   для: Кузнецов М.В.   (16.10.2004 в 14:09)
 

http://www.softtime.ru/dic/id_dic=143&id_group=4

   
Rambler's Top100
вверх

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