|
автор: denis (16.10.2004 в 00:51) |
|
| Подскажите что нужно написать в php скрипте чтобы в браузере показывалось окно с запросом на сохранение файла? | |
|
|
|
|
|
|
|
для: 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($fd, filesize($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)
| | Спасибо. Но работает только в эксплорире работает, а в Опере и Мозиле нет... | |
|
|
|
|
|
|
|
для: denis
(16.10.2004 в 02:45)
| | >Но работает только в эксплорире работает, а в Опере и Мозиле нет...
Да, я там не проверял... | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(16.10.2004 в 12:07)
| | Хм... вообще говоря странно - это стандартные HTTP-заголовки. | |
|
|
|
|
|
|
|
для: cheops
(16.10.2004 в 12:26)
| | А в моей опере тоже не работает :) Правда, вы говорите, что у меня опера самодурственная... В Мозиле не знаю, не проверял... | |
|
|
|
|
|
|
|
для: Кузнецов М.В.
(16.10.2004 в 13:39)
| | Номер версии Opera какой? второй? :))) | |
|
|
|
|
|
|
|
для: cheops
(16.10.2004 в 15:06)
| | 7.2.3 | |
|
|
|
|
|
|
|
для: 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 такая функция? | |
|
|
|
|
|
|
|
для: denis
(16.10.2004 в 13:59)
| | Это можно сделать, к примеру, с помощью функции headers_sent, которая проверяет были ли отправлены заголовки:
bool headers_sent([string &file [, int &line]])
|
Оба параметра функции - необязательные, и позволяют получить имя файла и номер строки, соответственно, в которых заголовки были отправлены.
Вообще функция возвращает false, если заголовки ещё не были отправлены клиенту и true если заголовки уже отправлены. | |
|
|
|
|